在codeigniter中,我如何知道检查了哪些复选框?

时间:2014-12-01 07:24:24

标签: php codeigniter validation

我的视图中有一个动态数量的复选框,如下所示:

<?php foreach($documents as $row): ?>
<input type="checkbox" name="options[]" value="<?php echo $row->docu_title?>"><?php echo $row->docu_title?><?php endforeach; ?>

我在控制器中设置了这组复选框的规则:

$this->form_validation->set_rules('options[]','options', 'required');

我如何知道检查了哪些复选框?因此,每当其他字段出现错误时,我仍然可以向用户显示已经检查过的复选框。像这样:

<input style="" type="text" class="form-control" name="ClientName" id="ClientName" value="<?php echo set_value('ClientName'); ?>">

2 个答案:

答案 0 :(得分:3)

您可以使用form helper&#39; set_checkbox()功能。

这允许您在提交状态中显示一个复选框。第一个参数必须包含复选框的名称,第二个参数必须包含其值,第三个(可选)参数允许您将项目设置为默认值(使用布尔值TRUE / FALSE)。例如:

<input style="" type="checkbox" class="form-control" name="ClientName" id="ClientName" 
    value="<?php echo set_value('ClientName'); ?>" <?php echo set_checkbox('ClientName', '1'); ?> /> 

参考访问CodeIgniter User Guide Version 2.2.0

答案 1 :(得分:1)

应该是这样的

<?php foreach($documents as $row): ?>
    <input type="checkbox" name="option[]" value="<?php echo $row->docu_title?>" <?php echo set_checkbox('option[]', $row->docu_title); ?>>
    <?php echo $row->docu_title?>
<?php endforeach; ?>