haw*_*oki 23 javascript checkbox jquery
这是我的代码:
它实际上计入已选中的复选框并将其写入内部<span class="counter"></span>.此代码适用于Firefox,但不适用于Chrome.
在Chrome上,.select_all会选中我想要的所有复选框,但不会更新计数器.实际上,当我取消选中.select_all时,计数器会更新,这很奇怪.
重要事实:我不想计算我的.counter中的.Select_all复选框
jQuery(document).ready(function($){
$(function() {
$('#general i .counter').text(' ');
var generallen = $("#general-content input[name='wpmm[]']:checked").length;
if(generallen>0){$("#general i .counter").text('('+generallen+')');}else{$("#general i .counter").text(' ');}
})
$("#general-content input:checkbox").on("change", function() {
var len = $("#general-content input[name='wpmm[]']:checked").length;
if(len>0){$("#general i .counter").text('('+len+')');}else{$("#general i .counter").text(' ');}
});
$(function() {
$('.select_all').change(function() {
var checkthis = $(this);
var checkboxes = $(this).parent().next('ul').find("input[name='wpmm[]']");
if(checkthis.is(':checked')) {
checkboxes.attr('checked', true);
} else {
checkboxes.attr('checked', false);
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
编辑:这是代码的示例文档:http://jsfiddle.net/8PVDy/1/
gab*_*ish 56
您可以使用函数更新计数器:
function updateCounter() {
var len = $("#general-content input[name='wpmm[]']:checked").length;
if(len>0){$("#general i .counter").text('('+len+')');}else{$("#general i .counter").text(' ');}
}
Run Code Online (Sandbox Code Playgroud)
当复选框的状态发生变化时调用此函数(包括selectAll复选框)
这是一个更新的jsFiddle:http://jsfiddle.net/8PVDy/4/
nbr*_*oks 38
$('input[type="checkbox"]:checked').length
Run Code Online (Sandbox Code Playgroud)
Rog*_*ger 10
你可以这样做
$(document).ready(function(){
$('input[type="checkbox"]').click(function(){
alert($('.test:checked').length);
});
});
Run Code Online (Sandbox Code Playgroud)
我使用的HTML
<input type="checkbox" name="test" class="test" value=""/>
<input type="checkbox" name="test" class="test" value=""/>
<input type="checkbox" name="test" class="test" value=""/>
<input type="checkbox" name="checkAll" class="checkAll" value=""/>
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助