-1

如果选中,我只想要复选框的选中值的数量,但我花了很多时间但没有成功。这是我的 HTML

<table>
<tbody><tr><th>Subscription</th></tr>
<tr><td><input type="checkbox" name="subscription_month">Jan</td></tr>
<tr><td><input type="checkbox" name="subscription_month">feb</td></tr>
<tr><td><input type="checkbox" name="subscription_month">march</td></tr>
<tr><td><input type="checkbox" name="subscription_month">apr</td></tr>
<tr><td><input type="checkbox" name="subscription_month">may</td></tr>
<tr><td><input type="checkbox" name="subscription_month">jun</td></tr>
<tr><td><input type="checkbox" name="subscription_month">july</td></tr>
<tr><td><input type="checkbox" name="subscription_month">aug</td></tr>
<tr><td><input type="checkbox" name="subscription_month">sep</td></tr>
<tr><td><input type="checkbox" name="subscription_month">oct</td></tr>
<tr><td><input type="checkbox" name="subscription_month">nov</td></tr>
<tr><td><input type="checkbox" name="subscription_month">dec</td></tr>
<tr><th><input type="checkbox" name="subscription_month" id="subscription_month" onclick="checkedAll2();">select all/unselect all</th></tr>
</tbody></table>

现在我正在尝试使用 javascript 执行此操作,但没有得到任何响应,请参阅代码

function checkedAll2() {
    var aa =  document.getElementsByName("subscription_month");
    checked = document.getElementById('subscription_month').checked;    

    for (var i =0; i < aa.length; i++) 
    {
        aa[i].checked = checked;
    }

     var numberOfChecked = $('input:checkbox:checked').length;
     alert("fgfgf");
var totalCheckboxes = $('input:checkbox').length;
var numberNotChecked = totalCheckboxes - numberOfChecked;
 }

我只想在数字计数中检查复选框中有多少项目。是否可以通过php? 如果可能的话,请给我任何解决方案...提前谢谢..

4

5 回答 5

5

复选框值以数组形式返回,仅用于count()计算选中值。

echo count($_POST['subscription_month']);
//This will return the number of checkboxes checked

对于取消选中,您可以简单地从总值中否定count()返回的值。

还要确保使用subscription_month[]名称。

于 2013-08-01T07:39:09.060 回答
2
$('.do').on('click',function(){

var checked_num = $('input[type="checkbox"]:checked').length);

});

对于 php,如果以上内容是表单的一部分,那么数据会自动提交,您可以根据您的方法使用 $_POST 或 $_GET,并且复选框名称将被提供,但您需要更改复选框的名称,都不能有相同的名字。对于收音机类型它很好......使用类似subscription_month []的东西作为复选框名称,它们将在数组中提供给php

这里是 js 部分的小提琴

http://jsfiddle.net/TKCah/

于 2013-08-01T07:47:26.197 回答
1

使复选框array如下所示

<table>
<tbody><tr><th>Subscription</th></tr>
<tr><td><input type="checkbox" name="subscription_month[]">Jan</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">feb</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">march</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">apr</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">may</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">jun</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">july</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">aug</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">sep</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">oct</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">nov</td></tr>
<tr><td><input type="checkbox" name="subscription_month[]">dec</td></tr>
<tr><th><input type="checkbox" name="subscription_month[]" id="subscription_month" onclick="checkedAll2();">select all/unselect all</th></tr>

然后简单地计算选中的复选框值

echo count($_POST['subscription_month']);

希望它会有所帮助

于 2013-08-01T07:57:22.600 回答
0

使用 php 使用 ajax 发布这些计数,您可以使用count函数进行检查

于 2013-08-01T07:40:45.320 回答
-1

试试这个 JavaScript(需要 jQuery):

function countChecked() {
    var checked = $( "input:checked" ).length;
    alert(checked);
}

$("input").on("click", function() {
    countChecked();
});
于 2013-08-01T07:45:03.423 回答