Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter set_checkbox()保持选中状态_Php_Codeigniter_Checkbox - Fatal编程技术网

Php Codeigniter set_checkbox()保持选中状态

Php Codeigniter set_checkbox()保持选中状态,php,codeigniter,checkbox,Php,Codeigniter,Checkbox,我认为有以下代码: <input type="checkbox" name="test[]" value="1" <?php echo set_checkbox("test[]", "1") ?> >test1 <input type="checkbox" name="test[]" value="2" <?php echo set_checkbox("test[]", "2") ?> >test2 这些复选框不是必需的,但是表单上的一些其他

我认为有以下代码:

<input type="checkbox" name="test[]" value="1" <?php echo set_checkbox("test[]", "1") ?> >test1 

<input type="checkbox" name="test[]" value="2" <?php echo set_checkbox("test[]", "2") ?> >test2

这些复选框不是必需的,但是表单上的一些其他字段是必需的。我希望在发布表单时保留这些复选框的状态。如果选中复选框中的值,则这些值将显示在POST中,但是当表单在POST之后再次加载时,不会保持选中状态。如果在POST之前选中了其中的一些值,则希望在POST之后对其进行选中。我也试过设置复选框“test”,“1”,但没有成功。其他文本字段上的值使用set_value函数保存,工作正常。

从set_checkbox方法调用中删除[]


有关更详细的答案,请参见从set_checkbox方法调用中删除[]


有关更详细的答案,请参见

我意识到设置复选框需要3个参数:

 set_checkbox(string $checkboxname, string $value, boolean $isChecked);
例如:

 echo form_checkbox('mycbx[]',
                    $item['id'],
                    set_checkbox('mycbx[]', $item['id'], false)
      );
或者这样:

$checkbox = array(
    'name'        => 'mycbx[]',
    'value'       => $item['id'],
    'checked'     => set_checkbox('mycbx[]', $item['id'], false)
);
echo form_checkbox($checkbox);

我意识到set_复选框包含3个参数:

 set_checkbox(string $checkboxname, string $value, boolean $isChecked);
例如:

 echo form_checkbox('mycbx[]',
                    $item['id'],
                    set_checkbox('mycbx[]', $item['id'], false)
      );
或者这样:

$checkbox = array(
    'name'        => 'mycbx[]',
    'value'       => $item['id'],
    'checked'     => set_checkbox('mycbx[]', $item['id'], false)
);
echo form_checkbox($checkbox);

设置复选框'mycheckbox','value',TRUE

设置复选框'mycheckbox','value',TRUE

在视图中添加如下行:

<input type="checkbox" name="mycheck[]" value="1" <?php echo set_checkbox('mycheck[]', '1', true); ?> />
set_checkbox('test', 'value');
最后,确保没有通过输入状态显式地将输入项设置为选中。这将覆盖codeigniter参数。换句话说,不要这样做


就这样。应该很有魅力

在您的视图中添加一行,如下所示:

<input type="checkbox" name="mycheck[]" value="1" <?php echo set_checkbox('mycheck[]', '1', true); ?> />
set_checkbox('test', 'value');
最后,确保没有通过输入状态显式地将输入项设置为选中。这将覆盖codeigniter参数。换句话说,不要这样做


就这样。应该很有魅力

在表单中使用类似test[]的数组时,不需要在set\u复选框调用中包含方括号[]

设置_复选框应始终如下所示:

<input type="checkbox" name="mycheck[]" value="1" <?php echo set_checkbox('mycheck[]', '1', true); ?> />
set_checkbox('test', 'value');

其中“value”是表单复选框的第二个参数。

在表单中使用类似test[]的数组时,不需要在set\u checkbox调用中包含方括号[]

设置_复选框应始终如下所示:

<input type="checkbox" name="mycheck[]" value="1" <?php echo set_checkbox('mycheck[]', '1', true); ?> />
set_checkbox('test', 'value');

其中“value”是表单复选框的第二个参数。

试试这个家伙,他为我工作: 只需将值放入[]

<input type="checkbox" name="test[1]" value="1" <?php echo set_checkbox("test[1]", "1") ?> >test1 

<input type="checkbox" name="test[2]" value="2" <?php echo set_checkbox("test[2]", "2") ?> >test2

试试这个为我工作的家伙: 只需将值放入[]

<input type="checkbox" name="test[1]" value="1" <?php echo set_checkbox("test[1]", "1") ?> >test1 

<input type="checkbox" name="test[2]" value="2" <?php echo set_checkbox("test[2]", "2") ?> >test2

看啊看啊,我把它们取下来了,但还是不起作用。只有对它们进行一些验证,它才会起作用。如果我将它们设置为必填项,并提交表格,则效果良好。但问题是它们不是必需的。可能其他一些字段的验证将失败,并且这些复选框将不会重新填充。在你发布的链接中,它说我应该使用$this->form_validation->set_rules'checkbox_name'、'checkbox_title'、'trim';但是“修剪”不能单独工作。你有没有想过要进行一些无意义的验证来让它工作?你可以检查长度是否小于9999。我删除了它们,但仍然无法工作。只有对它们进行一些验证,它才会起作用。如果我将它们设置为必填项,并提交表格,则效果良好。但问题是它们不是必需的。可能其他一些字段的验证将失败,并且这些复选框将不会重新填充。在你发布的链接中,它说我应该使用$this->form_validation->set_rules'checkbox_name'、'checkbox_title'、'trim';但是“修剪”不能单独工作。你有没有想过要进行一些毫无意义的验证来让它工作?你可以检查长度是否小于9999。