如果选中具有相同值的其他复选框,则选中复选框jquery

时间:2015-07-17 11:47:37

标签: javascript jquery

如果选中具有相同值的其他复选框,如何选中复选框。如果选择1,则应选中具有相同值的另一个div复选框。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2 
</div>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2 
</div>

3 个答案:

答案 0 :(得分:1)

您可以使用属性选择器获取具有相同值的其他复选框,并在选中当前复选框时设置其已检查属性

jQuery(function($) {
  var $checks = $('input:checkbox').change(function() {
    if (this.checked) {
      $checks.filter('[value="' + this.value + '"]').not(this).prop('checked', this.checked);
    }
  })
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2
</div>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2
</div>

答案 1 :(得分:1)

您可以filter()具有相同值的复选框并设置其属性。

$(function() {
  var checkboxes = $(":checkbox").change(function() {
    var value = $(this).val();
    checkboxes.filter(function() {
      return value == $(this).val()
    }).not(this).prop('checked', this.checked);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2
</div>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2
</div>

答案 2 :(得分:1)

尽可能简单:

&#13;
&#13;
$('input:checkbox').on('change', function(){
    //if(this.checked)    // optional, depends on what you want
    $('input[value="' + this.value + '"]:checkbox').prop('checked', this.checked);
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2 
</div>
<div>
  <input type="checkbox" value="1">1
  <input type="checkbox" value="2">2 
</div>
&#13;
&#13;
&#13;

如果您希望在取消选中其他人时继续检查其他人,请查看Arun P Johny's solution