Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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 jQuery-选中复选框并禁用其他值(如果值不同)_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript jQuery-选中复选框并禁用其他值(如果值不同)

Javascript jQuery-选中复选框并禁用其他值(如果值不同),javascript,jquery,checkbox,Javascript,Jquery,Checkbox,如果选中的复选框与其他复选框的值不同,我想禁用其他复选框。我见过一个问题,但答案正好相反。任何答案都将不胜感激 <input type='checkbox' name='check[]' value='Active'> //first checkbox <input type='checkbox' name='check[]' value='Inactive'> <input type='checkbox' name='check[]' value='Inactiv

如果选中的
复选框
与其他复选框的值不同,我想禁用其他
复选框
。我见过一个问题,但答案正好相反。任何答案都将不胜感激

<input type='checkbox' name='check[]' value='Active'> //first checkbox
<input type='checkbox' name='check[]' value='Inactive'>
<input type='checkbox' name='check[]' value='Inactive'>
<input type='checkbox' name='check[]' value='Active'>
//第一个复选框
假设
第一个复选框
的值为
Active
。值为
非活动的其他复选框应在更改时禁用

这是我从这里的一个开发人员那里找到的示例

小提琴:

  • 获取更改事件上更改复选框的当前值
  • 取消选中所有复选框
  • 使用当前值选中具有相同值的所有复选框
  • $(“:复选框”).change(函数(){
    设val=$(this.val();
    console.log(val)
    $(“:checkbox”).prop(“选中”,false)
    $(“:checkbox[value=“+val+”]”)prop(“选中”,true)
    })
    
    
  • 获取更改事件上更改复选框的当前值
  • 取消选中所有复选框
  • 使用当前值选中具有相同值的所有复选框
  • $(“:复选框”).change(函数(){
    设val=$(this.val();
    console.log(val)
    $(“:checkbox”).prop(“选中”,false)
    $(“:checkbox[value=“+val+”]”)prop(“选中”,true)
    })
    
    
    将所有相关代码添加到OP不在外部链接中,因此您希望仅在单击第一个复选框时禁用具有
    非活动
    值的复选框?将所有相关代码添加到OP不在外部链接中,以便仅在单击第一个复选框时禁用具有
    非活动
    值的复选框?干得好,如果我使用
    数据属性
    ,我怎么做?而不是
    value
    谢谢!只需使用属性
    $(“:checkbox[data value=“+val+”])
    更改
    @drentice工作的值,如果使用
    数据属性
    ,我如何也可以这样做?而不是
    value
    谢谢!只需使用属性
    $(“:checkbox[data value=“+val+”])
    更改
    @drentice工作的值,如果使用
    数据属性
    ,我如何也可以这样做?而不是
    value
    谢谢!您可以使用$.data(attr)来获取每个输入标记的属性值,方法与设置属性“name”的宽度相同。很好,如果使用
    数据属性
    ,我怎么做?而不是
    value
    谢谢!您可以使用$.data(attr)获取每个输入标记的属性值,方法与设置属性“name”的宽度相同
    $("input[name='check[]']").on('click', function() {
            var val = $(this).val();
            var parent = $(this);
            $("input[value !='"+val+"']").each(function() {
                $(this).not(parent).attr('disabled', parent.is(':checked'));
            });
        })