Javascript 选中限制复选框,包括页面加载时选中的复选框
我有几个复选框,其中一些已经在页面加载时被选中 我想做的是禁用其他复选框,如果选中了2个复选框 如果我自己选中/取消选中复选框,我的代码工作正常。但是,当页面加载时已经选中了两个框(使用javascript或HTML)时,仍然可以选中另一个框,直到禁用这些框为止 由于页面加载时已选中了两个复选框,因此其他复选框应被禁用,直到我取消选中其中一个复选框为止。目前情况并非如此 这是我的javascript:Javascript 选中限制复选框,包括页面加载时选中的复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我有几个复选框,其中一些已经在页面加载时被选中 我想做的是禁用其他复选框,如果选中了2个复选框 如果我自己选中/取消选中复选框,我的代码工作正常。但是,当页面加载时已经选中了两个框(使用javascript或HTML)时,仍然可以选中另一个框,直到禁用这些框为止 由于页面加载时已选中了两个复选框,因此其他复选框应被禁用,直到我取消选中其中一个复选框为止。目前情况并非如此 这是我的javascript: jQuery(function($) { var max = 2; var checkb
jQuery(function($) {
var max = 2;
var checkboxes = $('input[type="checkbox"]');
checkboxes.change(function(){
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
});
$('.one').attr('checked','checked');
$('.two').attr('checked','checked');
});
在我的复选框下面:
<div id="checkboxes">
<input type="checkbox" class="1" id="checkbox" name='Some[array]' value="1">
<input type="checkbox" class="2" id="checkbox" name='Some[array]' value="2">
<input type="checkbox" class="3" id="checkbox" name='Some[array]' value="3">
<input type="checkbox" class="4" id="checkbox" name='Some[array]' value="4">
</div>
当页面加载时,只需启动
.change()
事件:
checkboxes.change(function () {
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
}).change();
当页面加载时,只需启动
.change()
事件:
checkboxes.change(function () {
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
}).change();
当页面加载时,只需启动
.change()
事件:
checkboxes.change(function () {
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
}).change();
当页面加载时,只需启动
.change()
事件:
checkboxes.change(function () {
var current = checkboxes.filter(':checked').length;
checkboxes.filter(':not(:checked)').prop('disabled', current >= max);
}).change();
您的选择器错误,如果以编程方式更改值,
选中的事件将不会触发。但是,您可以手动触发更改事件,以在最初设置值时强制代码工作。使用以下两行:
$('.1').prop('checked','checked').change();
$('.2').prop('checked','checked').change();
选择器错误,如果以编程方式更改值,checked
事件将不会触发。但是,您可以手动触发更改事件,以在最初设置值时强制代码工作。使用以下两行:
$('.1').prop('checked','checked').change();
$('.2').prop('checked','checked').change();
选择器错误,如果以编程方式更改值,checked
事件将不会触发。但是,您可以手动触发更改事件,以在最初设置值时强制代码工作。使用以下两行:
$('.1').prop('checked','checked').change();
$('.2').prop('checked','checked').change();
选择器错误,如果以编程方式更改值,checked
事件将不会触发。但是,您可以手动触发更改事件,以在最初设置值时强制代码工作。使用以下两行:
$('.1').prop('checked','checked').change();
$('.2').prop('checked','checked').change();
是的,这绝对是一个比我的好的解决方案。是的,这绝对是一个比我的好的解决方案。是的,这绝对是一个比我的好的解决方案。是的,这绝对是一个比我的好的解决方案。