如何检测选中的复选框?

时间:2012-11-23 05:30:18

标签: javascript jquery html checkbox

我需要使用复选框,但没有提交按钮 - 它需要对用户已经在的页面产生影响,包含复选框的页面。

基本上,我有~10个复选框元素。用户选择一定数量的它们,然后单击按钮元素。当他们点击该元素时,我需要检测哪些复选框已被选中。使用最短的代码量,最好的方法是什么?

3 个答案:

答案 0 :(得分:3)

让所有复选框共享同一个班级。

var allChecked = $(".checkBoxClass:checked");

这将返回班级checkBoxClass中已选中复选框的列表。现在,您可以迭代每个元素并对它们进行操作。

for(var i=0; i<allChecked.length; i++) {    
  console.log("Checkbox " + $(allChecked[i]).val().toString() + " is checked");
}

答案 1 :(得分:0)

尝试:

    <input type="checkbox" id="1" value="one"/>
    <input type="checkbox" id="2" value="two"/>
    <input type="checkbox" id="3" value="three"/>
    <input type="button" onclick="validate()" value="Check"/>   

    <script type="text/javascript">
        function validate(){
            var chkArr = document.querySelectorAll('input[type="checkbox"]');
            var notChecked='';
            for(var i=0;i<chkArr.length;i++){
                if(!chkArr[i].checked)
                    notChecked += chkArr[i].value
            }
            if(notChecked.length)
                alert(notChecked);
        }
    </script>

答案 2 :(得分:0)

任何这些都应该有效:

$('input:checked');

$('input:checkbox:checked');

$('input:checkbox').filter(':checked');