假设我的编辑用户表单上有一个选择标签。它包含一个用户可以分配到的学校列表。
<select 'school'>
<option value='1'>School 1</option>
<option value='2'>School 2</option>
</school>
通过以下方式创建:echo form_dropdown('school', $school_list)
如果我正在编辑的用户已经分配了学校,我希望下拉菜单默认为该学校。
所以,我这样做了:
$school = $this->db->get_where('schools', $filters) # result object from database
echo form_dropdown('school', $school_list, $school->id);
当然,问题是,当用户尚未分配学校并且$school->id
为空时,这会引发错误。
所以我的问题是;在 codeigniter 中解决此类问题的最佳方法是什么?
我能想到的一种解决方法是在 NULL 上返回 NULL $school->id
。所以,
empty($school->id) && ($school->id = NULL);
echo form_dropdown('school', $school_list, $school->id);
但是,它看起来很不优雅,虽然,我还没有测试过。如果我想重新填充表单,我认为它不会很好地工作,以防万一它提交时有错误。
echo form_dropdown('school', $school_list, set_value('school', $school->id));
有人有更好的解决方案吗?
编辑:请注意,这不是我使用的实际代码。我刚刚输入了这个,所以如果有语法错误或诸如此类的错误,我很抱歉。