0

我在我的表单中使用 codeigniter 的 set_select 和 set_checked 时遇到了一点问题,我将这些添加到我现有的表单中,因为我正处于开发阶段,我正在尝试整理和失败的验证重置表单不是一个大问题我仍在从事该项目,但现在它即将结束,它成为一个令人头疼的问题。

首先是set_select,我有这个代码,它从一个数组中输出我的下拉列表,该数组从控制器传递到视图,控制器从我的数据库中的一个表中获取结果,我正在实现它的表单有10个下拉框,每个对应到我数据库中的一个表。无论如何,这是代码:

<label for="rating">Rating: </label>
<select name="rating">
<?php
    if(isset($rating) && $rating != 'none') {
    echo '<option value="" '.set_select('rating', '', TRUE).'></option>';
        foreach($rating as $row)  { 
            echo '<option value="'.$row->door_rating_rating.set_select('rating', $row->door_rating_rating).'">'.$row->door_rating_rating.'</option>';
        }
    } else {
        echo '<option value="none">Nothing to list</option>';
    }
?>
</select> 

它只是不起作用,据我所知,我的代码应该没有问题,但这是我第一次使用它,我查看了使用它的示例,但找不到使用它的示例在 for 循环中,我正在做什么甚至可能吗?

这是我在视图中的 set_checked 代码,在验证失败后这也不起作用:

Temporary Refuge Door?<input type="checkbox" class="temp_ref" name="tempref" value="1" <?php echo set_checkbox('tempref', '1'); ?> /> 

对于其中任何一个的任何帮助将不胜感激。

4

2 回答 2

2

看起来您在选项值的引号内有 set_select 。我在它之后移动了它。我还进行了编辑以使用 printf 以获得更好的可读性。

<label for="rating">Rating: </label>
<select name="rating">
<?php
    if(isset($rating) && $rating != 'none') {
     echo '<option value="" '.set_select('rating', '', TRUE).'></option>';
         foreach($rating as $row)  { 
             printf('<option value="%s" %s>%s</option>', $row->door_rating_rating, set_select('rating', $row->door_rating_rating), $row->door_rating_rating);
         }
     } else {
         echo '<option value="none">Nothing to list</option>';
     }
?>
</select> 
于 2013-06-26T14:29:24.963 回答
2

要解决 set_select() 尝试以下操作。假设您有一个名为 $isps 的数组,其中包含 id 和 name 字段。

<select id="isp" name="isp">
 <option value="" selected>Select a ISP</option>
 <?php foreach ($isps as $row) { ?>
<option value="<?php echo $row->id ; ?>" <?php echo set_select('isp', $row->id, False); ?> ><?php echo $row->name ; ?> </option> 
 <?php } ?>
</select>

于 2015-01-22T07:09:04.723 回答