繁体   English   中英

Codeigniter-表单验证和表单下拉问题

[英]Codeigniter - form validation and form dropdown issue

说我的编辑用户表单上有一个选择标签。 它包含可以分配用户的学校列表。

<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中此类问题的最佳方法是什么?

我想解决的一种方法是在$school->id上返回NULL。 所以,

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

有人有更好的解决方案吗?

编辑:请注意,这不是我使用的实际代码。 我现在只是在此输入,因此如果出现语法错误或其他错误,我深表歉意。

只需使用echo form_dropdown('school', $school_list, set_value('school', @$school->id));

然后,通过@可以知道该值有时为空,并且如果缺少该值,它将阻止错误。

如果没有id,这样做将向第3个参数发送一个NULL值,默认情况下它将选择第一个<option>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM