jQuery - 选中复选框并禁用其他如果具有不同的值

时间:2017-10-20 03:24:19

标签: javascript jquery checkbox

如果选中的checkbox与其他checkbox具有不同的值,我想禁用其他<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'> 。我看过一个问题,但答案恰恰相反。任何答案都很受欢迎。

first checkbox

假设使用Active的值检查Inactive。其他值为on change的复选框应被禁用--inspect-brk

以下是我从其中一位开发人员那里找到的例子

小提琴:https://jsfiddle.net/Lenauevf/1/

When Checkbox checked make other same value checkboxes disabled

2 个答案:

答案 0 :(得分:1)

$("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'));
        });
    })

答案 1 :(得分:1)

  1. 获取更改事件的更改复选框的当前值。
  2. 取消选中所有复选框。
  3. 使用当前值检查具有相同值的所有复选框
  4. &#13;
    &#13;
    $(":checkbox").change(function() {
      let val = $(this).val();
      console.log(val)
      $(":checkbox").prop("checked", false)
      $(":checkbox[value=" + val + "]").prop("checked", true)
    })
    &#13;
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type='checkbox' name='check[]' value='Active'>
    <input type='checkbox' name='check[]' value='Inactive'>
    <input type='checkbox' name='check[]' value='Inactive'>
    <input type='checkbox' name='check[]' value='Active'>
    &#13;
    &#13;
    &#13;