按钮选择基于字符串开头的复选框-Javascript

按钮选择基于字符串开头的复选框-Javascript,javascript,php,jquery,html,checkbox,Javascript,Php,Jquery,Html,Checkbox,我有一个表单,其中列出了用户,每个用户的名字下面都有复选框。我想为每个用户设置一个按钮,用于选中所有用户复选框 下面是动态创建的按钮代码和动态创建的复选框。包含的函数具有表单名称、复选框ID的开头和复选框值作为参数 <input type="button" onclick="SetAllCheckBoxes('form1', '<? echo $row['ID']; ?>_', true);" value="Check All"> <input name="<

我有一个表单,其中列出了用户,每个用户的名字下面都有复选框。我想为每个用户设置一个按钮,用于选中所有用户复选框

下面是动态创建的按钮代码和动态创建的复选框。包含的函数具有表单名称、复选框ID的开头和复选框值作为参数

<input type="button" onclick="SetAllCheckBoxes('form1', '<? echo $row['ID']; ?>_', true);" value="Check All">

<input name="<? echo $userID?>_<? echo $checkboxNumber ?>" type="checkbox" id="<? echo $userID?>_<? echo $checkboxNumber  ?>" value="1" />

如果您为按钮指定的名称是复选框名称的用户ID部分,则可以执行以下操作:

<button type="button" name="userFoo" onclick="setCheckboxes(this)" ...>Check 'em</button>

请提供有关脚本和标记的更多信息
function setCheckboxes(element) {
  var re = new RegExp('^' + element.name + '_');
  var controls = element.form.elements;

  for (var i=0, iLen=controls.length; i<iLen; i++) {
    if (re.test(controls[i].name)) {
      controls[i].checked = true;
    }
  }
}
<form>
  <button name="foo" type="button" onclick="setCheckboxes(this)">Check 'em</button>
  <input type="checkbox" name="foo_1">1
  <input type="checkbox" name="foo_2">2
  <input type="checkbox" name="foo_3">3
  <br>
  <button name="bar" type="button" onclick="setCheckboxes(this)">Check 'em</button>
  <input type="checkbox" name="bar_1">1
  <input type="checkbox" name="bar_2">2
  <input type="checkbox" name="bar_3">3
</form>
function setCheckboxes(element) {
  var controls = element.form.querySelectorAll('input.' + element.name);
  for (var i=0, iLen=controls.length; i<iLen; i++) {
    controls[i].checked = true;
  }
}
function setCheckboxes(element) {
  var controls = element.form.querySelectorAll('input.' + element.name);
  [].forEach.call(controls, function(el){el.checked = true});
}