当我点击选择全部如下所示的代码时,我无法获得已选中复选框的复选框总数
$("#SelctCheckAll").click(function () {
$('input:checkbox').not(this).prop('checked', this.checked);
var numberOfChecked = $('input:checkbox:checked').length;
var totalCheckboxes = $('input:checkbox').length;
});
所以它工作正常。但我怀疑的是,当我添加两个类时,例如class =" checkbox1"和class =" checkbox2"两者都有type =复选框。
例如,class = checkbox1包含6个复选框,class = checkbox2包含10个复选框。那么如何获得class = checkbox1的复选框总数,反之亦然?下面的示例
<input type="checkbox" id="SelctCheckAll" name="SelctCheckAll">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox2">
答案 0 :(得分:1)
使用只需要将类名添加到您正在使用的此语句中,以获取checked
复选框:
$('input.checkbox1:checkbox:checked').length
$("#SelctCheckAll").click(function() {
$('input:checkbox').not(this).prop('checked', this.checked);
var numberOfChecked = $('input:checkbox:checked').length;
var totalCheckboxes = $('input:checkbox').length;
var checkbox1 = $('input.checkbox1:checkbox:checked').length;
console.log('Total checkbox1: ' + checkbox1);
var checkbox2 = $('input.checkbox2:checkbox:checked').length;
console.log('Total checkbox2: ' + checkbox2);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="SelctCheckAll" name="SelctCheckAll">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
答案 1 :(得分:1)
您可以获取已选中复选框的总数,例如:
$(input[type="checkbox"]).is(':checked').length;
或使用class
之类的:
$('.class1').is(':checked').length;
答案 2 :(得分:1)
<input type="checkbox" id="SelctCheckAll" name="SelctCheckAll" class="testcheckbox">
<input type="checkbox" class="testcheckbox">
<input type="checkbox" class="testcheckbox">
var count = $('input[type="checkbox"].testcheckbox').length;
alert(count);
答案 3 :(得分:1)
var checkbox1 = $('input.checkbox1:checkbox:checked').length; //for class checkbox1
var checkbox2 = $('input.checkbox2:checkbox:checked').length; //for class checkbox2
答案 4 :(得分:1)
你带着一个小小提琴:
我使用了jQuery filter()
方法来获取我需要的所有信息 - 例如具有特定类的复选框的总数,以及仅选中某个类的复选框。
在这里看看工作小提琴:
var elems = $('input[type="checkbox"]');
elems.on('click', function(e){
if(e.target.id === "SelectCheckAll") elems.prop('checked', (elems.prop('checked')) ? true : false );
getStatistics();
});
function getStatistics(){
console.log('Total count of ".checkbox1":' + elems.filter( ".checkbox1" ).length);
console.log('Total count of ".checkbox2":' + elems.filter( ".checkbox2" ).length);
console.log('Count of checked ".checkbox1":' + elems.filter( ".checkbox1:checked" ).length);
console.log('Count of checked ".checkbox2":' + elems.filter( ".checkbox2:checked" ).length);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="SelectCheckAll" name="SelctCheckAll">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox1">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">
<input type="checkbox" class="checkbox2">