我的Jquery脚本有问题,它必须计算选中的复选框,但它不会在第一次点击时计数,所以我再次检查 - 取消选中 - 以便计算。它仅在firefox`
中正确计算$("#collapseOne input[type=checkbox]").click(function( event ) { var max = 3; var checkboxes = $('#collapseOne input[type="checkbox"]'); checkboxes.change(function(){ var current = checkboxes.filter(':checked').length; $( "#col1" ).text(current); checkboxes.filter(':not(:checked)').prop('disabled', current >= max); });
答案 0 :(得分:3)
无需点击处理程序
var max = 3;
var checkboxes = $("#collapseOne input[type=checkbox]");
checkboxes.change(function(){
var current = checkboxes.filter(':checked').length;
$( "#col1" ).text(current) ;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
});
演示:Fiddle
您的点击处理程序将导致注册no-of-clicks - 1
更改处理程序执行
答案 1 :(得分:0)
您正在点击处理程序中注册change
事件,这不会自动执行,您应该在DOM Ready上分配change
事件处理程序。
jQuery:JSFiddle
var max = 3;
var checkboxes = $("#collapseOne input[type=checkbox]");
checkboxes.change(function(){
var current = checkboxes.filter(':checked').length;
$( "#col1" ).text(current) ;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
});