使用set_value填充代码形式的下拉列表 [英] populate dropdown in codeigniter form using set_value
问题描述
我有一个窗体,使用下拉和im使用codeigniter,窗体辅助和表单验证
所以,当我得到一个验证错误在我的形式,所有正确输入的字段填充使用set_value的codeigniter,然而这不适用于下拉。
我在做:
< ;? php echo form_dropdown('mid',$ id_map,set_value('mid'),'id =mid')?>
在表单中获取错误时,总是选择下拉列表的第一个值, >
任何想法,我做错了什么?
正确的方法使用 set_select()
是
< select name =myselect >
< option value =one<?php echo set_select('myselect','one',TRUE); > >一个< / option>
< option value =two<?php echo set_select('myselect','two'); > >两个< / option>
< option value =three<?php echo set_select('myselect','three'); > >三< / option>
< / select>
所以Andras Ratz方法/答案将无法工作。
您的方法正确。
<?php echo form_dropdown('mid',$ id_map,set_value('mid'),'id =mid ')?>但是请记住, set_value()
只是如果您为其设置了验证规则,在 mid
的情况下,将返回值。你可以尝试如下 - <?php echo form_dropdown('mid',$ id_map,(isset($ _ POST [ 'mid'])?$ _POST ['mid']:''),'id =mid')?>
或者只是设置 mid
太
i have a form that uses a drop down and im using codeigniter , form helper and form validation
so when i get a validation error in my form , all the correctly entered fields are populated using set_value of codeigniter , however this doesnt work for dropdown
im doing :
<?php echo form_dropdown('mid', $id_map, set_value('mid'), 'id="mid"') ?>
when get error in form , always the first value of dropdown is selected and not previously set
Any ideas , what am i doing wrong?
解决方案 The correct method to use set_select()
is
<select name="myselect">
<option value="one" <?php echo set_select('myselect', 'one', TRUE); ?> >One</option>
<option value="two" <?php echo set_select('myselect', 'two'); ?> >Two</option>
<option value="three" <?php echo set_select('myselect', 'three'); ?> >Three</option>
</select>
So Andras Ratz method/answer won't work.
Your method is correct.
<?php echo form_dropdown('mid', $id_map, set_value('mid'), 'id="mid"') ?>
However remember that set_value()
is only going to return the value if you have setup a validation rule for it, in your case for mid
. You could try as below -
<?php echo form_dropdown('mid', $id_map, (isset($_POST['mid']) ? $_POST['mid'] : ''), 'id="mid"') ?>
or just set a validation rule for mid
too
这篇关于使用set_value填充代码形式的下拉列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!