我正在使用ci helper form_dropdown为我的表单使用下拉菜单获取所需的输入类型作为文本框,单选按钮等。对于puropse,我在db中使用display_text和multiple_values,其中display_text存储文本框,单选按钮等,而在多个值中,我存储0或1,具体取决于输入是否采用多个值。对于textarea multiple_values = 0和单选按钮multiple_values = 1.现在问题是在我正在进行的控制器编辑期间
$data['field_types'] = dropdown_data($field_types, 'display_text' , 'multiple_values');
当我这样发送时,未选择保存的值,它只选择下拉菜单的第一个值,但允许从控制器中选择新值。当我喜欢时
$data['field_types'] = dropdown_data($field_types, 'display_text');
结果是在编辑期间显示已保存的值,但现在不允许更改。 我想要显示之前选择的值,还能够在编辑期间更改值 在哪里我犯了错误。提前感谢任何帮助/建议和宝贵的时间。
答案 0 :(得分:0)
第一个选项:
在控制器中:
$data['field_types']=array(
'1' => 'First DropDownItem',
'2' => 'Second DropDownItem',
'3' => 'Third DropDownItem'
);
$data['field_types']['4']='New DropDownItem';
$data['field_types']['0']='New Default_DropDownItem';
在视图中:
<?=form_dropdown('field_types',$field_types,0); ?> // default value will be 'New Default DropDownItem'
数据库的第二个选项(合理的方式):
在控制器中:
$data['field_types_from_model']=$this->my_Model->getFieldTypes();
在my_Model中:
function getFieldTypes() {
$Q = $this->db->get('table_with_field_types');
return $Q->result_array();
}
如果您多次使用相同的DropDown List,我建议您使用Second选项。这样,您需要在数据库表中更改一次DropDown List,这将影响所有用法。