Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何禁用所有未选中复选框?_Javascript_Html - Fatal编程技术网

Javascript 如何禁用所有未选中复选框?

Javascript 如何禁用所有未选中复选框?,javascript,html,Javascript,Html,在html文件中有很多checkbox元素。如果选中其中3个复选框,则应禁用其余复选框,直到再次选中其中一个复选框。 下面是JS代码和HTML $('.check[type=checkbox]')。更改(函数(){ var checkNum=$('.check[type=checkbox]'); var checkedNum=$('.check[type=checkbox]:checked')。长度; 如果(checkedNum>=3){ 对于(i=0;i此处不需要任何循环。如果条件为true

在html文件中有很多checkbox元素。如果选中其中3个复选框,则应禁用其余复选框,直到再次选中其中一个复选框。 下面是JS代码和HTML

$('.check[type=checkbox]')。更改(函数(){
var checkNum=$('.check[type=checkbox]');
var checkedNum=$('.check[type=checkbox]:checked')。长度;
如果(checkedNum>=3){

对于(i=0;i此处不需要任何循环。如果条件为
true
,则只需针对未选中的
checked
复选框将
disabled
属性设置为true。如果条件为
false
,则将所有复选框的属性设置为
false

$('.check[type=checkbox]')。更改(函数(){
var checkNum=$('.check[type=checkbox]');
var checkedNum=$('.check[type=checkbox]:checked');
如果(checkedNum.length>=3){
$('.check[type=checkbox]:未(:选中)).attr('disabled',true);
}
否则{
checkNum.attr('disabled',false);
}
})

挑选
挑选
挑选
挑选

谢谢!有趣的是,我写的代码与您完全一样,但我还需要:$('.check[type=checkbox]:checked').attr('disabled',false);否则,我无法取消选中复选框。@venndi,您编写的代码与我的代码不完全相同,代码中有一个for循环。您的代码中还有一些语法错误。此外,我不确定您为什么需要额外的代码,因为上述解决方案可以轻松地选中/取消选中您想要的代码:)哈哈,对不起,我的英语不是最好的,所以可能我的答案不清楚。我的意思是我把代码改成了你的,我也遇到了一个问题,但这当然是我的错,我忘了一个冒号,我这样写$('.check[type=checkbox]:not(checked).).attr('disabled',true);这就是我出现问题的原因:)谢谢你的帮助!