CodeIgniter多选,不选择单引号值



所以我使用表单帮助器来设置多选,像这样:

$certifiedTeacher = "I'm storing a value";
echo form_multiselect('certifiedTeacer', $certifiedTeacher, set_value('certifiedTeacher', $certifiedTeacher), 'id="certifiedTeacher" class="multiselect"');

在form post之后,正确的值,在这个例子中"I'm stored a value",被保存在数据库中。当我重新加载页面时,字段中没有选择值。

如果我选择一个没有单引号的字段,一切都按预期工作,upno返回该值是预先选定的。

我自己弄明白了。问题是CodeIgniter的set_value函数会自动转义HTML字符。因为$ certifedteacher没有被编码,所以它们不匹配。

set_value函数提供了第三个布尔参数,允许您关闭HTML转义。这解决了我的问题。修改后的新代码如下:

$certifiedTeacher = "I'm storing a value";
//false added as a third parameter for set_value to turn off HTML escaping.
echo form_multiselect('certifiedTeacher', $certifiedTeacher, set_value('certifiedTeacher', $certifiedTeacher, false), 'id="certifiedTeacher" class="multiselect"');

最新更新