我找到了这个可以接受的答案,但是对我来说不起作用:
boo^M
boo^M
当我尝试记录inputElements [0]时记录:
var checkedValue = null;
var inputElements = document.getElementsByClassName('messageCheckbox');
for(var i=0; inputElements[i]; ++i){
if(inputElements[i].checked){
checkedValue = inputElements[i].value;
break;
}
}
我只想使用纯js,没有jquery,可以帮忙吗?
答案 0 :(得分:3)
要获取所有选中复选框的计数,可以使用filter()
,如下所示:
var inputElements = [].slice.call(document.querySelectorAll('.messageCheckbox'));
var checkedValue = inputElements.filter(chk => chk.checked).length;
console.log(checkedValue);
<input type="checkbox" class="messageCheckbox" checked>
<input type="checkbox" class="messageCheckbox">
<input type="checkbox" class="messageCheckbox" checked>
答案 1 :(得分:0)
<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循环计算选中了哪些复选框
function countChecked(){
const checkboxes = document.querySelectorAll('.todo-checkbox')
let count=0
checkboxes.forEach(checkbox=>{
if(checkbox.checked) count+=1
})
return count
}
您可以使用代码here
,并且当您记录inputElements [i]时,您将获得节点本身document.getElementsByClassName
,document.querySelectorAll
等,它们返回NodeList
而不是JavaScript数组。
答案 2 :(得分:0)
将名称属性赋予所有复选框,并使用此代码对选中的复选框进行计数
$('input:checkbox[name=ideaList]:checked').length
如果您想获取选中复选框的值,请选择一个变量并将其推送到该变量中
var selectedIdeas = [];
$.each($("input:checkbox[name=ideaList]:checked"), function(){
selectedIdeas.push($(this).val());
});
答案 3 :(得分:0)
假设,您要检查使用Classname选中了多少复选框:
稍微让您的代码
var checkedBoxCount =0;
var inputElements = document.getElementByClassName(`your_classname`);
for(var i=0; i<inputElements.length; i++){
if(inputElements[i].checked){
checkBoxCount++;
}
}
console.log(checkedBoxCount); //returns total count of checkboxes being checked
如果您想获得选中的复选框,
var checkedBoxes =[];
var inputElements = document.getElementByClassName(`your_classname`);
for(var i=0; i<inputElements.length; i++){
if(inputElements[i].checked){
checkBoxes.push(inputElements[i])
}
}
console.log(checkedBoxes); //returns the checked check boxes
答案 4 :(得分:0)
希望这对您有帮助,纯JS无jQuery。
function countCheckbox() {
var count=0;
var checkboxes = document.getElementsByClassName('checkbox');
for(var i in checkboxes){
if(checkboxes[i].checked)count++;
}
console.log('COUNT:',count);
}
<input type="checkbox" class="checkbox">
<input type="checkbox" class="checkbox">
<input type="checkbox" class="checkbox">
<input type="checkbox" class="checkbox">
<input type="checkbox" class="checkbox">
<button onclick="countCheckbox();">CLICK</button>