Javascript jQuery总是选中一个复选框

Javascript jQuery总是选中一个复选框,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,使用以下HTML复选框代码 <input type="checkbox" class="example" checked />2016 <input type="checkbox" class="example" />2015 <input type="checkbox" class="example" />2014 <input type="checkbox" class="example" />2013 <input type="chec

使用以下HTML复选框代码

<input type="checkbox" class="example" checked />2016
<input type="checkbox" class="example" />2015
<input type="checkbox" class="example" />2014
<input type="checkbox" class="example" />2013
<input type="checkbox" class="example" />2012
<input type="checkbox" class="example" />2011
<input type="checkbox" class="example" />2010

因此,其中一个复选框始终处于选中状态,不允许出现空白复选框?

看起来您有漂亮的带有复选框的UI组件,这就是为什么您不想使用无线电输入

关于您的问题:您的代码按预期工作

$(函数(){
$('input[type=“checkbox”]”)。绑定('click',function(){
$(本)
.parent()
.find('[type=“checkbox”]')。而不是(此)
.removeAttr(“选中”);
});
});

2016
2015
2014
2013
2012
2011

2010
看起来您有漂亮的带有复选框的UI组件,所以这就是为什么您不想使用无线电输入

关于您的问题:您的代码按预期工作

$(函数(){
$('input[type=“checkbox”]”)。绑定('click',function(){
$(本)
.parent()
.find('[type=“checkbox”]')。而不是(此)
.removeAttr(“选中”);
});
});

2016
2015
2014
2013
2012
2011

2010
似乎您不想使用单选按钮。 这是您的更新代码,它可以按需要工作。您需要确保通过重新单击复选框不会取消选中复选框

$(函数(){
$('input[type=“checkbox”]”)。绑定('click',function(){
if($(this).prop('checked')==false){
$(this.prop('checked',true);
}
$('input[type=“checkbox”]”)。而不是(this).prop(“checked”,false);
});
});

2016
2015
2014
2013
2012
2011

2010
似乎您不想使用单选按钮。 这是您的更新代码,它可以按需要工作。您需要确保通过重新单击复选框不会取消选中复选框

$(函数(){
$('input[type=“checkbox”]”)。绑定('click',function(){
if($(this).prop('checked')==false){
$(this.prop('checked',true);
}
$('input[type=“checkbox”]”)。而不是(this).prop(“checked”,false);
});
});

2016
2015
2014
2013
2012
2011
2010年
实现这一目标还有另一种(更短的)方法:

$(function() { 
   $(':checkbox').click(function(){
      $(this).prop('checked', true).siblings(':checkbox').prop("checked", false);
   });
});
它只会始终选中单击的元素,而不选中所有同级元素。

还有另一种(较短的)方法可以实现相同的效果:

$(function() { 
   $(':checkbox').click(function(){
      $(this).prop('checked', true).siblings(':checkbox').prop("checked", false);
   });
});

它只会始终选中单击的元素,而不选中所有同级元素。

停止使用复选框,这不是它们的工作方式。使用单选按钮,这正是它们的用途。停止使用复选框,它们不是这样工作的。使用单选按钮,这正是它们的用途。这当前允许在单击时取消选中选中的项目$(this).prop('checked',true).parent()。查找。。。我会留下来的checked@smcd你说得不对。因为没有()函数链接到find selector之后。另外,看看它是如何工作的,点击“运行”按钮。我做了-2016年是选中的。单击该复选框,它允许取消选中,这是OP不希望发生的。@scmd,我不这么认为。not()链接在find()选择器之后。您的方法只是使每个复选框变得不可勾选。@namhd它可以工作,但是在jquery>2.2.4的JSFIDLE中,此代码和我建议的对它的编辑都不起作用(如果启用了迁移,则在jquery 3.0.0中起作用)。这当前允许在单击时取消选中选中该项$(this).prop('checked',true).parent()。查找。。。我会留下来的checked@smcd你说得不对。因为没有()函数链接到find selector之后。另外,看看它是如何工作的,点击“运行”按钮。我做了-2016年是选中的。单击该复选框,它允许取消选中,这是OP不希望发生的。@scmd,我不这么认为。not()链接在find()选择器之后。您的方法只是使每个复选框变得不可勾选。@namhd它可以工作,但是在jquery>2.2.4的JSFIDLE中,此代码和我建议的对它的编辑都不起作用(如果启用了迁移,则在jquery 3.0.0中起作用)。