2个复选框,当我取消选中一个时,我想要检查另一个

时间:2016-02-07 18:47:28

标签: jquery

我有点工作,但只能工作一次。我检查第一个框然后取消选中它,另一个框检查但是当我检查并取消选中第一个时,它不起作用。

这基本上就像一个单选按钮,但第二个复选框将被隐藏,因此他们只需要选中或取消选中第一个框。

这是我的代码:

$('input').on('change', function() {
  $(this).siblings().attr('checked', false);
  if ($(this).prop('checked') == false) {
    $(this).siblings().attr('checked', true);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" />
<input type="checkbox" />

1 个答案:

答案 0 :(得分:5)

您的问题是您使用 0 1 [1,] 0.8633219 0.1366781 [2,] 0.8633219 0.1366781 [3,] 0.8633219 0.1366781 [4,] 0.8633219 0.1366781 [5,] 0.8633219 0.1366781 [6,] 0.8633219 0.1366781 [7,] 0.8633219 0.1366781 [8,] 0.8633219 0.1366781 [9,] 0.8633219 0.1366781 [10,] 0.8633219 0.1366781 方法更改同级复选框元素的.attr()属性。由于您正在更改属性,因此只能使用一次。如果您将其更改为checked,则应该按预期工作。

更简单的方法是根据是否选中当前复选框来切换兄弟元素的.prop()属性。您可以在案例中使用checked

!this.checked
$('input').on('change', function() {
  $(this).siblings().prop('checked', !this.checked);
});