Codeigniter set_value 限制

Codeigniter set_value Limitation

我在 Codeigniter 中有一个表单,其中包含大约 100 个复选框。验证后,set_value 适用于第一个复选框,但不适用于其余复选框。 set_value的数量有限制吗?

<label>
<?php 
echo form_checkbox('indoor[]', '1', set_checkbox('indoor[]', 1)); ?>
Text 1
</label>
...
<label>
<?php 
echo form_checkbox('indoor[]', '100', set_checkbox('indoor[]', 100)); ?>
Text 100
</label>

最佳, 亚尼克

form_check_box的第三个参数需要一个布尔值,用于确定是否将checked属性添加到生成的输入中。

因此,试试这个

<label>
<?php 
echo form_checkbox('indoor[]', '1', in_array('1', set_value('indoor[]', []))); ?>
Text 1
</label>
...
<label>
<?php 
echo form_checkbox('indoor[]', '100', in_array('100', set_value('indoor[]', []))); ?>
Text 100
</label>

更新

您可以将 set_value 的第二个参数替换为例如持久数据(取决于您的实现)。如果用户没有提交表单,默认返回。