15
<form name='form1' >
   <input type=checkbox name='cbox[]' />
</form>

<script>    
   var checkbox = document.getElementsByName('ckbox[]')
   var ln = checkbox.length
   alert(ln)
</script>

如何使用 JavaScript 或 jQuery 只计算选中的复选框?

4

11 回答 11

35

用 jQuery 来做这件事会缩短代码,使其更具可读性、可维护性和更容易理解。将属性选择器:checked选择器一起使用

现场演示

$('[name="cbox[]"]:checked').length
于 2013-02-27T11:06:18.143 回答
7

如果你想使用纯 JavaScript

var checkbox = document.getElementsByName('ckbox[]');
var ln = 0;
for(var i=0; i< checkbox.length; i++) {
    if(checkbox[i].checked)
        ln++
}
alert(ln)
于 2013-02-27T11:07:08.027 回答
4

jQuery解决方案:

var len = $("[name='cbox[]']:checked").length;

JavaScript 解决方案:

var len = [].slice.call(document.querySelectorAll("[name='cbox[]']"))
    .filter(function(e) { return e.checked; }).length;
于 2013-02-27T11:05:32.613 回答
1

$('input:checked').length如果您没有此表单以外的任何其他输入标签,则可以。

于 2013-02-27T11:06:27.090 回答
1

试试这个

jQuery解决方案:

var len = $(":checked",$("input[name='cbox[]']")).size();
于 2013-02-27T11:08:33.720 回答
1
var fobj = document.forms[0];

var c = 0;
for (var i = 0; i < formobj.elements.length; i++)
{
if (fobj.elements[i].type == "checkbox")
{
if (fobj.elements[i].checked)
{
c++;
}
}       
}

alert('Total Checked = ' + c);
于 2013-02-27T11:11:22.360 回答
0

试用,

var boxes = $('input[name="cbox[]"]:checked');

找出检查了多少,

$(boxes).size();

或者

$(boxes).length();
于 2013-02-27T11:13:50.627 回答
0
var len = $("[name='cbox[]']:checked").length;

会起作用,但如果你直接比较像

if ( $("[name='cbox[]']").length= $("[name='cbox[]']:checked").length)
于 2013-12-11T01:08:24.713 回答
0

你也这样做

你必须为 checkBox 定义类,然后按照下面

var chkLength = $('input.className:checked').length; 警报(chkLength);

这将从列表中打印您的复选框总数

于 2014-08-09T09:46:55.373 回答
0

您也可以使用如下

$('[name=cbox\\[\\]]:checked').length
于 2016-10-21T11:14:19.930 回答
0

试试这个,

var ch_n = $( "输入:已检查" ).length;

于 2017-11-01T12:37:57.140 回答