jQuery - 无法从复选框中删除选中的属性

Posted

技术标签:

【中文标题】jQuery - 无法从复选框中删除选中的属性【英文标题】:jQuery - Unable to remove checked attribute from checkboxes 【发布时间】:2017-08-19 11:37:07 【问题描述】:

我生成了一个表单,其中包含对与我的数据库通信的 php 页面的 Ajax 请求的响应。

当我单击submit 按钮时,我会通过 jQuery 收集简单数组中不同表单输入(文本、复选框、文本区域...)的内容,以将它们发送回数据库。

现在我想在提交后重置form。 即使使用我在 *** 和互联网上找到的所有方法,我也未能使用 myForm.reset() 清除所有内容(它什么也没做)。所以我决定自己编写清晰的流程。

主要问题:我收集选中复选框的值:

var complement0=[];
complement0.push($("input[name=foo]:checked").map(function() 
  return this.value;
).get());

然后尝试取消选中复选框。以下是我尝试但没有成功的方法:

$("input[name=foo]:checked").each(function() 
  $(this).removeAttr('checked');
);

$("input[name=foo]:checked").map(function() 
  return this;
).removeAttr('checked');

$("input[name=prsFmtLng]:checked").attr('checked',false);

$("input[name=prsFmtLng]:checked").removeAttr('checked');

因为当其他人谈论这个时看起来很简单:要么我不明白我在做什么,要么我只是错过了一些东西。

欢迎任何帮助。

答案:

    $("input[name=foo]:checked").map(function() 
        $(this).prop('checked',false);
    );

【问题讨论】:

【参考方案1】:

checked 是一个属性。

使用:

.prop('checked',false);

;)

【讨论】:

当你在这里回答时,我发现感谢:***.com/questions/5874652/prop-vs-attr/… 无论如何谢谢 =) 不得不等待 1 分钟才能接受。我编辑了我的问题以添加答案。我不应该删除它,因为我必须搜索一段时间才能找到那个简单的答案。我应该吗? 您的选择!你认为你的问题可能会帮助未来的读者是问自己的问题。 ;) 那我就不说了,因为许多其他与选中复选框相关的问题都没有谈到这个细节。再次感谢您。 很高兴 ;)

以上是关于jQuery - 无法从复选框中删除选中的属性的主要内容,如果未能解决你的问题,请参考以下文章

jquery复选框属性

使用jquery表中的复选框从数组中删除JavaScript对象

jquery 怎么给复选框选中

如何使用 JavaScript 或 jquery 选中/取消选中复选框?

jQuery-如果选中了复选框,则删除活动类(多个条件)

使用 jquery 表中的复选框从数组中删除 JavaScript 对象