使用Javascript(和PHP)检查所有HTML复选框(数组)

使用Javascript(和PHP)检查所有HTML复选框(数组),javascript,html,arrays,function,checkbox,Javascript,Html,Arrays,Function,Checkbox,我已经找了几个小时没找到这个。这看起来应该很容易,但我显然忽略了一些东西 我有一个表格,每行显示每个单元格中的信息。在每行的末尾,都有一个附加单元格,其中包含一个复选框。复选框是一个数组,每个复选框值都是通过PHP内爆的数组。见下文: HTML/PHP -------- (...some html code...) <form method="post" action="the-next-page.php"> <table> <tr> &l

我已经找了几个小时没找到这个。这看起来应该很容易,但我显然忽略了一些东西

我有一个表格,每行显示每个单元格中的信息。在每行的末尾,都有一个附加单元格,其中包含一个复选框。复选框是一个数组,每个复选框值都是通过PHP内爆的数组。见下文:

HTML/PHP
--------
(...some html code...)
<form method="post" action="the-next-page.php">
  <table>
    <tr>
    <?php
    (...some php SQL query code...)
    while ($row = oci_fetch_array($result)) {
    ?>
      <td><input type="text">Name</td>
      <td><input type="text">City</td>
      <td><input type="checkbox" name="checkGroup[]" value="<?php implode(":",$someArrayvariable) ?>"></td>
    <?php
    }
    ?>
    </tr>
    <tr>
      <td><input type="submit" value="submit"></td>
    </tr>
  </table>
</form>
....
</html>
HTML/PHP
--------
(…一些html代码…)
名称
城市
两件小事:

function checkAll() {
    var checks = document.getElementsByName("checkGroup[]");
    for (var i=0; i < checks.length; i++) {
        checks[i].checked = true;
    }
}
函数checkAll(){
var checks=document.getElementsByName(“checkGroup[]);
对于(变量i=0;i
getElementByName应该是
getElementsByName
,而
checkGroup
应该是
checkGroup[]
。除此之外,你的代码应该很好用

两件小事:

function checkAll() {
    var checks = document.getElementsByName("checkGroup[]");
    for (var i=0; i < checks.length; i++) {
        checks[i].checked = true;
    }
}
函数checkAll(){
var checks=document.getElementsByName(“checkGroup[]);
对于(变量i=0;i

getElementByName应该是
getElementsByName
,而
checkGroup
应该是
checkGroup[]
。除此之外,你的代码应该很好用

尝试使用这种方法获取所有选中的复选框元素

<button name="checkAll" onclick="checkAll()">Check All</button>

<script type="text/javascript">
  function checkAll() {
   var checkboxes = document.getElementsByName('checkGroup[]');
   var checkboxesChecked = [];
   for (var i=0; i<checkboxes.length; i++)
  {
    if (checkboxes[i].checked) {
    checkboxesChecked.push(checkboxes[i]);
  }
 }
 return checkboxesChecked.length > 0 ? checkboxesChecked : null;
 }
</script>
全部检查
函数checkAll(){
var checkbox=document.getElementsByName('checkGroup[]);
var checkboxesChecked=[];
对于(变量i=0;i 0?复选框选中:空;
}

尝试用这种方法获取所有选中的复选框元素

<button name="checkAll" onclick="checkAll()">Check All</button>

<script type="text/javascript">
  function checkAll() {
   var checkboxes = document.getElementsByName('checkGroup[]');
   var checkboxesChecked = [];
   for (var i=0; i<checkboxes.length; i++)
  {
    if (checkboxes[i].checked) {
    checkboxesChecked.push(checkboxes[i]);
  }
 }
 return checkboxesChecked.length > 0 ? checkboxesChecked : null;
 }
</script>
全部检查
函数checkAll(){
var checkbox=document.getElementsByName('checkGroup[]);
var checkboxesChecked=[];
对于(变量i=0;i 0?复选框选中:空;
}

您可以使用JQuery来简化这一过程

我还将为每个复选框输入指定一个通用类名,因此在Javascript中(使用JQuery):

我也会给checkall按钮一个唯一的class/id,这样你就可以这样做了

$(document).ready(function() {
    $("#allcheckboxid").on("click",function() {
              $(".classname").each(function() {
                     $(this).prop("checked",true);
              });
    });
})

您可以使用JQuery来简化这一过程

我还将为每个复选框输入指定一个通用类名,因此在Javascript中(使用JQuery):

我也会给checkall按钮一个唯一的class/id,这样你就可以这样做了

$(document).ready(function() {
    $("#allcheckboxid").on("click",function() {
              $(".classname").each(function() {
                     $(this).prop("checked",true);
              });
    });
})

getElementByName应该是getElementsByName,缺少一个“s”。@JesseKernaghan+1,会这么说!;PgetElementByName应该是getElementsByName,缺少一个“s”。@JesseKernaghan+1,会这么说!;P