如何从foreach循环生成复选框中获取多个值

时间:2016-05-30 11:59:07

标签: codeigniter

我试图从foreach循环生成的复选框中获取多个值。请检查下面的代码并给我一些建议。感谢。

查看档案

<?php foreach ($size_list as $size) { ?>
<label><input name="size_id" type="checkbox" value="<?php echo $size->size_id;?>" />
<?php echo $v_size_list->size;?></label>
<?php } ?>

当我在选择多个复选框后提交此表单时,我只获得了最后一个复选框值。但我想要所有选中的复选框值。请给我一些建议。感谢

3 个答案:

答案 0 :(得分:1)

在名称中使用数组,如

name="size_id[]"

您将获得数组中所有选中的复选框值。

答案 1 :(得分:1)

使用将您的复选框名称更改为数组,然后将您在表单中检查的数组结构中的所有复选框值进行控制

<强> name="size_id[ ]"

<?php foreach ($size_list as $size) { ?>

<label><input name="size_id[]" type="checkbox" value="<?php echo $size->size_id;?>" />
<?php echo $v_size_list->size;?></label>

并通过

获取值

<强> print_r($_POST['size_id']);

答案 2 :(得分:0)

我的建议是检查这个答案: Get $_POST from multiple checkboxes

所以你的复选框名称必须是size_id [],并且在控制器中,你检查复选框的值,你必须用foreach循环它。

public function posted()
{
    $checkboxes = $this->input->post("size_id");
    foreach($checkboxes as $checkbox)
    {
        // in this loop you can check the value of the selected checkbox
    }
}