我有一个复杂的重新人口系统,但它很麻烦。
我有一个出生国家的下拉菜单,当用户提交表单时,它会被抛入数据库。然后,下拉菜单会重新填充数据库中的任何内容(如果有的话)。
我从数据库中获取了这样的值:
$birthplacecountry = (!set_select('birthplacecountry') && $birth_citizenship) ? $birth_citizenship[0]['birthplacecountry'] : (set_select('birthplacecountry') ? set_select('birthplacecountry') : '');
这很好,因为我的选项看起来像这样:
<option value="Afganistan" <?php if ($birthplacecountry == 'Afganistan') echo 'selected="selected"';?>>Afghanistan</option>
<option value="Albania" <?php if ($birthplacecountry == 'Albania') echo 'selected="selected"';?>>Albania</option>
<option value="Algeria" <?php if ($birthplacecountry == 'Algeria') echo 'selected="selected"';?>>Algeria</option>
<option value="American Samoa" <?php if ($birthplacecountry == 'American Samoa') echo 'selected="selected"';?>>American Samoa</option>
但是,必须手动比较$ birthplacecountry和值的名称。是否有一般方法将某些内容与选项值进行比较?
某种功能如下:if($ birthplacecountry == this.option.value)
答案 0 :(得分:1)
在codeIgniter中,您应该使用Form helper来生成选择/下拉列表,即
$options = array(
'Afganistan' => 'Afganistan',
'Albania' => 'Albania',
);
echo form_dropdown('birthplacecountry', $options, 'Albania');
在此示例中,将创建名为dropdown
的{{1}},并选择birthplacecountry
为option
,seconf为Albania
。第三个参数设置选定的option
,因此,当您想要使用所选选项重新填充表单时,您可以执行类似这样的操作
echo form_dropdown('birthplacecountry', $options, set_select('birthplacecountry', $this->input->post('birthplacecountry') );