如何取消选中单选按钮?

544

我有一组单选按钮,在使用jQuery提交AJAX表单后,希望将其取消选中状态。我有以下函数:

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

通过这个函数,我可以清除文本框中的值,但无法清除单选按钮中的值。

顺便说一下,我也尝试过 $(this).val(""); 但没有起作用。


3
你不需要使用"each"函数,你可以直接在jQuery对象上调用所需的函数。请参见下面的答案。 - James Wiseman
1
jQuery("input:radio").removeAttr("checked"); jQuery("input:radio").removeAttr("checked"); - Jitendra Damor
16个回答

8
您可以使用这个 JQuery 来取消选中单选按钮。
$('input:radio[name="IntroducerType"]').removeAttr('checked');
                $('input:radio[name="IntroducerType"]').prop('checked', false);

这就是我想要的!这段代码可以直接在DOM中运行,即控制台,用于更改加载的HTML页面。谢谢。 - undefined

7

使用这个

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

6
只需将以下jQuery代码放置即可:

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

而对于JavaScript:
$("input:radio").removeAttr("checked");

不需要使用任何foreach循环,.each()函数或其他任何东西。


2
你意识到 $("input:radio").removeAttr("checked"); 不是纯 JavaScript,对吗? - Manngo

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

这个已经很接近正确了,但是你漏掉了[0]

正确的写法 ->> $(this)[0].checked = false;


3
this.checked = false; 或者简单地说:这个选项未被选中。 - eikes

1
function setRadio(obj) 
{
    if($("input[name='r_"+obj.value+"']").val() == 0 ){
      obj.checked = true
     $("input[name='r_"+obj.value+"']").val(1);
    }else{
      obj.checked = false;
      $("input[name='r_"+obj.value+"']").val(0);
    }

}

<input type="radio" id="planoT" name="planoT[{ID_PLANO}]" value="{ID_PLANO}" onclick="setRadio(this)" > <input type="hidden" id="r_{ID_PLANO}" name="r_{ID_PLANO}" value="0" >

:D

-2
$('input[id^="rad"]').dblclick(function(){
    var nombre = $(this).attr('id');
    var checked =  $(this).is(":checked") ;
    if(checked){
        $("input[id="+nombre+"]:radio").prop( "checked", false );
    }
});

每当你在选中的单选框上双击时,选中状态会变为 false。
我的单选按钮以 id=radxxxxxxxx 开头,因为我使用这个 ID 选择器。

3
请用易懂的英语写出答案。 - ericbn
@ericbn 如果有人不懂英语怎么办? - talha2k
@AlphaMale 英语是本网站的官方语言。 - Cristik
@Cristik并不是所有程序员都来自“英语”国家。这是否意味着他们不能在这个论坛上发帖?其次,这已经过去2年了,伙计。谢谢你的启示。 - talha2k

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接