为了账号安全,请及时绑定邮箱和手机立即绑定

document.querySelectorAll('') 它是如何工作的?

document.querySelectorAll('') 它是如何工作的?

阿波罗的战车 2021-06-16 17:41:29
我想要一些关于 JS querySelectorAll('') 的提示。我需要计算一些复选框来建立最大的选择。问题是我不想将它们全部计算在内,只计算带有“name=homeCheck”的那些,并且在我使用 querySelectorAll 的方式中它不能正常工作:function insertDeleteNews(data) {if (checked == true && document.querySelectorAll('input[type="checkbox"]:checked').length > 6){...}} <td><input type="checkbox" name="homeCheck" id="homeCheck_<?=$row['id']."_".$row['id_azienda']?>" value="<?=$row['id']."_".$row['id_azienda']?>" <?= $rowHome ?"checked":""?> <?= !$rowNews ?"disabled":""?> onclick="insertDeleteNews(this.value)"></td>
查看完整描述

2 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

您可以查询 name-property 而不是 type-property:

input[name="name1"]:checked

一般示例:

let button = document.getElementById('button');

button.addEventListener('click', function(event) {

  event.preventDefault();

  let count = document.querySelectorAll('input[name="name1"]:checked').length;

  console.log(count);

});

<input type="checkbox" name="name1"> Name1 (1)<br>

<input type="checkbox" name="name2"> Name2 (1)<br>

<input type="checkbox" name="name1"> Name1 (2)<br>

<input type="checkbox" name="name2"> Name2 (2)<br>

<input type="checkbox" name="name1"> Name1 (3)<br>

<button id="button">Count Name1</button>

示例 - 检查最多 3 个:


let checkboxes = document.querySelectorAll('input[name="homeCheck"]');

for (let checkbox of checkboxes) {

  checkbox.addEventListener('click', checkboxLimitTo3Checked);

}


function checkboxLimitTo3Checked(event) {

  let checked = document.querySelectorAll('input[name="homeCheck"]:checked').length;

  if (checked > 3) {

    event.preventDefault();

  }

}

<input type="checkbox" name="homeCheck"> homeCheck 1<br>

<input type="checkbox" name="homeCheck"> homeCheck 2<br>

<input type="checkbox" name="homeCheck"> homeCheck 3<br>

<input type="checkbox" name="homeCheck"> homeCheck 4<br>

<input type="checkbox" name="homeCheck"> homeCheck 5<br>


查看完整回答
反对 回复 2021-06-18
?
jeck猫

TA贡献1909条经验 获得超7个赞

您可以通过以下方式替换您的功能


function insertDeleteNews(data) {

    if (document.querySelectorAll('input[name="homeCheck"]:checked').length > 6){

...}

}

这将找到所有名称为“homeCheck”的检查输入


查看完整回答
反对 回复 2021-06-18
  • 2 回答
  • 0 关注
  • 370 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信