循环复选框 - 如何获取所有选中的复选框?

时间:2014-02-03 11:47:23

标签: php loops checkbox

我有以下一组复选框:

<div class="chb_group">
   <span class="custom_chb_wrapper">
       <input class="zcheckbox" type="checkbox" value="164" name="categoriesfilters">
       <label>Air Condition A/C</label>
   </span>
</div>
<div class="chb_group">
    <span class="custom_chb_wrapper">
        <input class="zcheckbox" type="checkbox" value="165" name="categoriesfilters">
        <label>Clima</label>
   </span>
</div>
<div class="chb_group">
    <span class="custom_chb_wrapper">
        <input class="zcheckbox" type="checkbox" value="166" name="categoriesfilters">
        <label>Range Command</label>
    </span>
</div>

这只是很长篇幅的一部分。我试图通过名称为categoriesfilters的复选框循环,并获取属于该组的已选中复选框的值。

我正在尝试使用以下代码:

foreach ($_POST as $name=>$value) {
                    if($name == 'categoriesfilters') {
                    echo $name . " -> ".$value ."<br />";
                    }
                 }

但即使我检查了所有这些,我也只得到最后一个复选框。有人可以帮忙吗?

问候,约翰

1 个答案:

答案 0 :(得分:3)

您应该将输入“name更改为name="categoriesfilters[]"

然后,您可以使用categoriesfilters

访问$_POST['categoriesfilters']

请记住$_POST['categoriesfilters']是一个整数数组,所以:

foreach ($_POST as $name=>$value) {
  if ($name == 'categoriesfilters') {
    echo $name . " -> ". implode(',', $value) ."<br />";
  }
}