Codeigniter PHP获取选项值

时间:2013-10-24 00:10:44

标签: forms codeigniter

我有一个复杂的重新人口系统,但它很麻烦。

我有一个出生国家的下拉菜单,当用户提交表单时,它会被抛入数据库。然后,下拉菜单会重新填充数据库中的任何内容(如果有的话)。

我从数据库中获取了这样的值:

$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)

1 个答案:

答案 0 :(得分:1)

在codeIgniter中,您应该使用Form helper来生成选择/下拉列表,即

$options = array(
    'Afganistan'  => 'Afganistan',
    'Albania'    => 'Albania',
);
echo form_dropdown('birthplacecountry', $options, 'Albania');

在此示例中,将创建名为dropdown的{​​{1}},并选择birthplacecountryoption,seconf为Albania。第三个参数设置选定的option,因此,当您想要使用所选选项重新填充表单时,您可以执行类似这样的操作

echo form_dropdown('birthplacecountry', $options, set_select('birthplacecountry', $this->input->post('birthplacecountry') );