【问题标题】:jquery button to uncheck checkboxes [duplicate]jquery按钮取消选中复选框[重复]
【发布时间】:2014-09-24 06:31:18
【问题描述】:

这个任务看起来很简单,虽然我的代码不起作用。

我有一些行的表格,每一行都有一个复选框,在下面我放了“全部删除”按钮以取消选中复选框。

这是我的代码:

    $('#remove-button').click(function(){
        $('input:checked').prop('checked',false);
        //e.stopPropagation(); // I tried also with this
        // $('input:checked').removeAttr('checked'); // or this syntax
    });

当我单击按钮时,所有输入都未选中,但这不是由于我的代码而发生的,因为当我评论这个 sn-p 时,当我单击按钮时也会发生这种情况。我还看到,当我单击并取消选中输入时,我的网站似乎刷新了,因为页面向上滚动。

我还在检查的输入中添加了另一个按钮:

    $('#add-button').click(function(e){
        $('input').prop('checked',true);
        //e.stopPropagation(); // I tried also with this
        // $('input:checked').removeAttr('checked'); // or this syntax
    });

当我触发此输入时,会检查此输入,然后我的网站会立即刷新,一切都消失了。

我使用最新的 Firefox 和 Chrome,以及 jQuery - 1.11(但也检查了 1.8.0 和 1.7.1)。

还有附送的

有谁知道怎么回事?

【问题讨论】:

  • 你的按钮是什么类型的?他们是“提交”的类型
  • 不,这些是没有类型属性的按钮,但我也尝试了 type="submit"
  • 你能粘贴你的html代码,包括表单标签和你所有的按钮
  • 你的代码对我有用,检查jsfiddle.net/deepakmanwal/x9eDE。您是否在document.ready 包装脚本?

标签: jquery button unchecked


【解决方案1】:

'checked' 属性是布尔值,但它意味着当它不存在时它是假的。 如果您不需要点击提交或不去链接有e.preventDefault()。 所以你需要这个:

 $('#remove-button').click(function(e) {
    $('input:checked').removeAttr('checked');
    e.preventDefault();
 });
 $('#add-button').click(function(e) {
   var input = $('input.input-to-check')
   input.attr('checked', 'checked');
   e.preventDefault();
 });

【讨论】:

  • 你救了我的命。谢谢。
猜你喜欢
  • 1970-01-01
  • 2013-01-24
  • 2018-02-03
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
相关资源
最近更新 更多