如何取消选中单选按钮?

我有一组单选按钮,我想在使用jQuery提交AJAX表单后取消选中它们。我有以下功能:

function clearForm(){
  $('#frm input[type="text"]').each(function(){
      $(this).val("");  
  });
  $('#frm input[type="radio":checked]').each(function(){
      $(this).checked = false;  
  });
 }

借助此功能,我可以清除文本框中的值,但无法清除单选按钮的值。

顺便说一句,我也尝试过,但这不起作用。$(this).val("");


答案 1

要么(普通js)

this.checked = false;

或 (jQuery)

$(this).prop('checked', false);
// Note that the pre-jQuery 1.6 idiom was
// $(this).attr('checked', false);

请参阅 jQuery prop() 帮助页面,了解 attr()prop() 之间的区别以及为什么 prop() 现在更可取。
prop() 于 2011 年 5 月随 jQuery 1.6 一起推出。


答案 2

您不需要该函数each

$("input:radio").attr("checked", false);

$("input:radio").removeAttr("checked");

这同样适用于您的文本框:

$('#frm input[type="text"]').val("");

但你可以改善这一点

$('#frm input:text').val("");