如何取消选中复选框?

时间:2011-03-11 11:37:53

标签: javascript jquery

<input class=checked-val type="checkbox" value="foo" checked="true" /> 
<input class=checked-val type="checkbox" value="bar" checked="true" /> 

最初选中两个复选框。但是当我单击任何复选框时,其选中的值应更改为checked = false。我怎么能用jquery或javascript来做呢?

4 个答案:

答案 0 :(得分:2)

您需要删除“已检查”属性。

$("#selector").removeAttr("checked");

答案 1 :(得分:0)

显然,当用户点击它时,复选框会检查/取消选中,但如果你想以编程方式执行此操作:

<script type="text/javascript">
  document.getElementById('cb_foo').checked = true;
  document.getElementById('cb_bar').checked = true;
</script>

<input class=checked-val type="checkbox" id="cb_foo" value="foo" checked="true" /> 
<input class=checked-val type="checkbox" id="cb_bar" value="bar" checked="true" /> 

答案 2 :(得分:0)

使用此:

$('.checked-val').removeAttr('checked');

请注意您输入的语法必须是:

<input type="checkbox" value="..." name="..." class="checked-val" checked="checked" />

支票背后的机制是:

  • 使用checked="checked",复选框处于活动状态并通过表单提交
  • 发布
  • 没有属性checked,未选中复选框,表单提交未发布

答案 3 :(得分:0)

  

最初选中两个复选框。   但当我点击任何复选框时   选中的值应更改为   检查=假。我该怎么做才能使用   jquery还是javascript?

如果您希望这种情况发生,您可以.one()附加一个仅触发一次的事件处理程序。将其与其他项目相结合,您只需取消选中这两个框即可。

$(".checked-val").one("click", function(){
    $(".checked-val").removeAttr("checked");
});

jsfiddle上的代码示例。