如何取消选中单选按钮?

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

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

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

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


无论是(普通的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()现在更可取的解释。
2011年5月,jQuery 1.6引入了prop()。


你不需要each功能

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

要么

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

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

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

但你可以改善这一点

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

尝试

$(this).removeAttr('checked')

由于许多浏览器会将“checked = anything”解释为true。 这将完全删除选中的属性。

希望这可以帮助。

链接地址: http://www.djcxy.com/p/49137.html

上一篇: How to uncheck a radio button?

下一篇: Prevent users from submitting a form by hitting Enter