Javascript 如何在达到限制时禁用未选中的复选框

Javascript 如何在达到限制时禁用未选中的复选框,javascript,jquery,Javascript,Jquery,我想知道如何使用jQuery禁用未选中的复选框。目标是在选定复选框的数量大于或等于3时禁用未选定复选框 $('.myCheckBox').change(function() { var checkBoxLenghtStandard = $('[name="addon-2811-workshop-normal- 1[]"]:checked').filter(':checked').length; if (checkBoxLenghtStandard >= 3) {

我想知道如何使用jQuery禁用未选中的复选框。目标是在选定复选框的数量大于或等于3时禁用未选定复选框

 $('.myCheckBox').change(function() {
   var checkBoxLenghtStandard = $('[name="addon-2811-workshop-normal-    1[]"]:checked').filter(':checked').length;

   if (checkBoxLenghtStandard >= 3) {
     //Here I would like to disable unselected checkboxes
   }
 });

要实现此功能,您可以使用
:not(:checked)
选择器筛选可用的未选中框,使用
prop()
禁用它们

请注意,取消选中复选框时,还需要一个
else
条件来再次启用复选框

var$checkbox=$('.myCheckBox').change(function(){
var$checked=$checkbox.filter(':checked');
如果($checked.length>=3){
$checkbox.filter(“:not(:checked)”).prop('disabled',true);
}否则{
$checkbox.prop('disabled',false);
}
});

尝试-我们将禁用标志设置为未检查的输入

$('input')。单击(函数(){
checkboxesValidate();
})
函数checkboxesValidate(){
$('input:not(:checked')).attr(“disabled”,$('input:checked')。长度==3);
}

您可以使用:

$(".myCheckBox:not(:checked)").prop('disabled', true);
禁用所有未选中的复选框

选择少于3个复选框后,您可以重新启用复选框(在
中的其他

见下例:

$('.myCheckBox')。在('input',function()上{
var checkBoxLenghtStandard=$('.myCheckBox:checked')。长度;
如果(复选框长度标准>=3){
$(“.myCheckBox:not(:checked)”).prop('disabled',true);
}否则{
$('.myCheckBox[disabled]').prop('disabled',false)
}
});


您可以显示您的HTML代码作为复选框吗?我正在使用Wordpress插件的可能重复项…相关元素已在上面列出。请花时间描述问题所在以及此解决方案的帮助原因。请记住,我们在这里是为了教育人们,而不仅仅是向他们转储代码。当取消选择某个复选框时,您应该重新启用该复选框。@Sanguinary fixedElegant solution。