首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查有多少个复选框是用类名选中的?

检查有多少个复选框是用类名选中的?
EN

Stack Overflow用户
提问于 2019-03-08 05:13:12
回答 5查看 1.8K关注 0票数 4

我已经找到了这个被接受的答案,但不知怎么的,它对我不起作用:

代码语言:javascript
复制
var checkedValue = null; 
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
      if(inputElements[i].checked){
           checkedValue = inputElements[i].value;
           break;
      }
}

当我尝试记录inputElements时,它会记录:

代码语言:javascript
复制
<input type="checkbox" id="checkbox-2" class="todo-checkbox" onclick="handleCheck('text-2', 'checkbox-2')">

我只想使用纯js,而不是jquery,帮助?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-03-08 05:29:03

要获得所有复选框的计数,可以使用filter(),如下所示:

代码语言:javascript
复制
var inputElements = [].slice.call(document.querySelectorAll('.messageCheckbox'));
var checkedValue = inputElements.filter(chk => chk.checked).length;

console.log(checkedValue);
代码语言:javascript
复制
<input type="checkbox" class="messageCheckbox" checked>
<input type="checkbox" class="messageCheckbox">
<input type="checkbox" class="messageCheckbox" checked>

票数 3
EN

Stack Overflow用户

发布于 2019-03-08 05:29:14

将名称属性赋予所有复选框,并使用此代码对复选框进行计数

代码语言:javascript
复制
$('input:checkbox[name=ideaList]:checked').length

如果要获得选中复选框的值,请接受vatiable并在该变量中推送选中的复选框值。

代码语言:javascript
复制
var selectedIdeas    = [];
$.each($("input:checkbox[name=ideaList]:checked"), function(){
     selectedIdeas.push($(this).val());
});
票数 1
EN

Stack Overflow用户

发布于 2019-03-08 05:27:59

代码语言:javascript
复制
<input type="checkbox" class="todo-checkbox">
<input type="checkbox" class="todo-checkbox">
<input type="checkbox" class="todo-checkbox">
<input type="checkbox" class="todo-checkbox">
<input type="checkbox" class="todo-checkbox">

选择所有复选框,然后使用forEach循环来计算选中的复选框

代码语言:javascript
复制
function countChecked(){
  const checkboxes = document.querySelectorAll('.todo-checkbox')
  let count=0
  checkboxes.forEach(checkbox=>{
    if(checkbox.checked) count+=1
  })
  return count
}

您可以使用代码这里

当您记录inputElementsi时,您得到的是节点本身、document.getElementsByClassNamedocument.querySelectorAll等,它们返回的是一个NodeList而不是JavaScript数组。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55057090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档