如果选中复选框,我只想要复选框的数量,但是我花了很多时间并且没有成功。这是我的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吗? 请尽可能给我任何解决方案......提前谢谢..
答案 0 :(得分:5)
复选框值在数组中返回,只需使用count()
来计算选中的值。
echo count($_POST['subscription_month']);
//This will return the number of checkboxes checked
要取消选中,您只需从总值中否定count()
返回的值。
另外,请确保使用subscription_month[]
作为名称。
答案 1 :(得分:2)
$('.do').on('click',function(){
var checked_num = $('input[type="checkbox"]:checked').length);
});
对于php,如果以上是表单的一部分,那么数据会自动提交 你可以使用$ _POST或$ _GET取决于你的方法和复选框名称已经提供但你需要更改复选框的名称,所有不能具有相同的名称。对于无线电类型它很好...使用类似subscription_month []的复选框名称,它们将被提供给数组中的php
这里是js部分的小提琴
答案 2 :(得分: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']);
希望它会有所帮助
答案 3 :(得分:0)
通过php使用ajax发布这些计数,您可以使用count
函数
答案 4 :(得分:-1)
试试这个JavaScript(需要jQuery):
function countChecked() {
var checked = $( "input:checked" ).length;
alert(checked);
}
$("input").on("click", function() {
countChecked();
});