Javascript 如何在达到限制时禁用未选中的复选框
我想知道如何使用jQuery禁用未选中的复选框。目标是在选定复选框的数量大于或等于3时禁用未选定复选框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) {
$('.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。