我有点工作,但只能工作一次。我检查第一个框然后取消选中它,另一个框检查但是当我检查并取消选中第一个时,它不起作用。
这基本上就像一个单选按钮,但第二个复选框将被隐藏,因此他们只需要选中或取消选中第一个框。
这是我的代码:
$('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" />
答案 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);
});