如何使用codeigniter set_value用于下拉输入?

时间:2016-02-01 11:00:28

标签: php codeigniter drop-down-menu

我想将set_value用于type = text的输入,我对此没有任何问题。

我很困惑使用下拉值。我从数据库中获取下拉值,我无法理解我在哪里使用set_value。

我的代码:

<select class="form-control" name="sport_name" id="sport_name">
 <option value=''>--Select Sport--</option>
<?php foreach($getSport as $item):
 if($item->sport_name==$mySport) 
{?>
<option value="<?php echo $item->sport_id;  ?>" selected><?php echo $item->sport_name;  ?></option>
<?php }else{?>
<option value="<?php echo $item->sport_id;  ?>"><?php echo $item->sport_name;  ?></option>
 <? } endforeach; ?>
 </select>

4 个答案:

答案 0 :(得分:1)

你可以试试这个:

    <select class="form-control" name="sport_name" id="sport_name">
     <option value=''>--Select Sport--</option>
    <?php foreach($getSport as $item):?>
<option value="<?php echo $item->sport_id;  ?>" <?php if($item->sport_name==$mySport) 
    { echo "Selected";} ?>><?php echo $item->sport_name;  ?></option>
     <? } endforeach; ?>
     </select>

答案 1 :(得分:0)

你的代码应该正常工作,但最好的方法是:当select ==当前选择值的值时,你可以声明名为$ selected的var并进行比较,用循环中的选定单词赋值:

<select class="form-control" name="sport_name" id="sport_name">
<option value=''>--Select Sport--</option>
<?php 

foreach($getSport as $item):
    $selected='';
    if($item->sport_name==$mySport) 
    {
     $selected='selected';
    }
?>
<option value="<?php echo $item->sport_id;  ?>" <?php echo $selected; ?> >
<?php echo $item->sport_name;  ?></option>
<?php  endforeach; ?>
</select>

答案 2 :(得分:0)

这样做的最好方法是保持可读性,如下所示:

 <select class="form-control" name="sport_name" id="sport_name">
      <option selected>--Select Sport--</option>
      <?php foreach($getSport as $item): ?>
           <option <?php if($item->sport_name == $mySport){ echo "selected"; } value="<?php echo $item->sport_id;?>"><?php echo $item->sport_name; ?></option>
      <?php endforeach; ?>
 </select>

当然,这是在考虑您已将数据正确设置为对象,或者如果您有数组,则可以使用

<?php echo $item['sport_name']; ?>

答案 3 :(得分:0)

As per the docs,您使用set_value作为select元素:

  

&#34;允许您设置输入表单(文本输入)或 textarea 的值。&#34;

相反,you would use set_select

  

如果使用<select> 菜单,此功能允许您显示所选的菜单项。第一个参数必须包含选择菜单的名称,第二个参数必须包含每个项目的值,第三个(可选)参数允许您将项目设置为默认值(使用布尔值TRUE / FALSE)。

set_select($field[, $value = ''[, $default = FALSE]])

参数:

  • $ field(字符串) - 字段名称

  • $ value(string) - 要检查的值

  • $ default(string) - 该值是否也是默认值

返回:'已选中'属性或空字符串

返回类型:字符串

示例

<select class="form-control" name="sport_name" id="sport_name">
    <option value=''>--Select Sport--</option>
    <option value="one" <?php echo set_select('sport_name', 'one'); ?> >One</option>
    <option value="two" <?php echo set_select('sport_name', 'two'); ?> >Two</option>
    <option value="three" <?php echo set_select('sport_name', 'three'); ?> >Three</option>
</select>