【问题标题】:Set a selected option in menu dropdown with codeigniter使用 codeigniter 在菜单下拉菜单中设置选定的选项
【发布时间】:2012-01-25 23:57:10
【问题描述】:

我选择使用标签而不是表单助手中的form_dropdown(),因为我无法将类属性设置为<option> 标签。 所以我有一个<select> 并想将一个项目设置为"selected"。该数据来自数据库。我怎么设置这个? 我看到了这个:set_select() 但我无法工作。 有人有解决办法吗?

【问题讨论】:

  • 发布您当前的代码或您尝试过的代码。
  • <select name="myselect" id="myselect"> <option value="" <?php echo set_select('myselect', '', $home[0]->brand); ?>>--</option> <option value="apple" <?php echo set_select('myselect', 'apple', $home[0]->brand); ?>>AC</option> <option value="google" <?php echo set_select('myselect', 'google', $home[0]->brand); ?>>AM</option> </select>

标签: html codeigniter select


【解决方案1】:

来自docs on the form_dropdown function

form_dropdown()

允许您创建标准下拉字段。第一个参数将包含字段的名称,第二个参数将包含一个关联的选项数组,第三个参数将包含您希望被选中的值

echo form_dropdown('shirts', $options, 'large'); // 'large' will be "selected"

【讨论】:

  • 我选择使用标签而不是 Form Helper 中的 form_dropdown(),因为我无法将类属性设置为标签,并且在我的应用程序中是必需的。还有其他解决方案吗?
  • HTML 方式...<select> instead of <?php echo form_dropdown('shirts', $options, 'large'); ?>.
  • 哦,我明白了。好吧,在这种情况下,@Ruben 下面的答案是正确的(set_select 的第三个参数应该是布尔值)。
【解决方案2】:

有两件事要记住:首先,您必须使用验证类才能使用set_select() 函数。其次,您必须将数据库信息传递给该函数,如下所示:

<select name="myselect">
  <option value="one" <?php echo set_select('myselect', 'one', ($model->selection == 'one')); ?> >One</option>
  <option value="two" <?php echo set_select('myselect', 'two', ($model->selection == 'two')); ?> >Two</option>
  <option value="three" <?php echo set_select('myselect', 'three', ($model->selection == 'three')); ?> >Three</option>
</select>

如果$model-&gt;selectiontwo,那么上例中将选择第二个选项。

【讨论】:

  • 我以这种方式获得价值:$home[0]-&gt;brand 但不起作用。 $home[0]-&gt;brand 的值是正确的,但是 set_value 不起作用。 &lt;select name="myselect" id="myselect"&gt; &lt;option value="" &lt;?php echo set_select('myselect', '', $home[0]-&gt;brand); ?&gt;&gt;--&lt;/option&gt; &lt;option value="apple" &lt;?php echo set_select('myselect', 'apple', $home[0]-&gt;brand); ?&gt;&gt;AC&lt;/option&gt; &lt;option value="google" &lt;?php echo set_select('myselect', 'google', $home[0]-&gt;brand); ?&gt;&gt;AM&lt;/option&gt; &lt;/select&gt;
  • set_select 的第三个参数应该是一个布尔值,所以你可以这样做:&lt;option value="one" &lt;?php echo set_select('myselect', 'one', ($model-&gt;selection == 'one')); ?&gt; &gt;One&lt;/option&gt; -- docs here
【解决方案3】:
<?php echo form_label('Gender:'); ?>
<?php echo form_dropdown(array('id'=>'selectinform', 'name'=>'gender', 'options'=>array('1'=>'Select', '2'=>'2','3'=>'3'), 'selected'=>'1')); ?>

'selected'=>'1'

【讨论】:

  • 请给出更多解释,即使代码是解释性的
猜你喜欢
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
相关资源
最近更新 更多