如何取消选中一个单选按钮

我有两种forms,一种是用户必须选择编辑的单选按钮。

[form name="A"] 
  • [input type="radio" name="BookItem" value="1" /]
  • [input type="radio" name="BookItem" value="2" /]
  • [input type="radio" name="BookItem" value="3" /]
  • [form]

    从表单(A)中选择“BookItem”后,我调用$("#EditFormWrapper").load("callEditData.cfm? ID="+ID); 加载第二种forms的function(B)

     

    [form id="editForm" name="B"]
    • 2 Hours AM
    • 2 Hours PM
    • 2 Hours AM
    • 2 Hours PM
    [input type="image" src="images/submit-btn.gif" id="addBTN" name="addBTN" class="buttons" alt="SubmitRrequest" /] [input type="image" src="images/cancel-btn.gif" id="editBTNcancel" name="editBTNcancel" class="buttons" alt="Cancel Request" /] [/form]

    当用户点击表格(B)中的取消按钮(editBTNcancel)时,我想取消选中表格(A)上的单选按钮。

    这是我的脚本:

     $("#editBTNcancel").live("click", function(event){ event.preventDefault(); $("#EditFormWrapper").slideUp("fast").empty(); //$('.TOR2Hours').removeAttr('checked'); $('.TOR2Hours').attr('checked', false); }); 

    我希望我明确说明我的问题,任何建议都将不胜感激!

    我不确定你想要什么,但你可能会尝试使用重置输入。

      

    你可以像这样访问表格……

     var exampleForm = document.forms['form_name']; 

    然后遍历表单

     for( var i=0; i 

    你可以像这样测试检查......

     if( exampleForm[i].checked ) 

    取消选中已选中的单选按钮尝试...

     exampleForm[i].checked=false; 

    最终的代码看起来像这样......

     var exampleForm = document.forms['form_name']; for( var i=0; i 

    因为这几乎是最简单的DOM任务,并且适用于每个可编写脚本的浏览器,我建议不要使用jQuery方法:

     $(".TOR2Hours")[0].checked = false; 

    对我而言,另一件事是你的选择器是否正确。 您是指按类选择一组元素还是应该是ID选择器?

    你的选择器完全错了。 如果你想从第一个表单中取消选中单选按钮,你应该使用$('input[name="BookItem"]')而不是$('.TOR2Hours')

    $("#editBTNcancel").on("click", function(event){ $("#EditFormWrapper").slideUp("fast").empty(); $('input[name="BookItem"]').attr('checked', false); });

    至于用于取消选中单选按钮的方法,以下3种方法都应该起作用:

    1. $('input[name="BookItem"]').attr('checked', false);
    2. $('input[name="BookItem"]').removeAttr('checked');
    3. $('input[name="BookItem"]').prop('checked', false);

    但是,请查看jQuery的jQuery prop()文档,了解attr()prop()之间的区别。

    我刚刚发现了一个很好的解决方案。

    假设您有两个需要能够检查/取消选中的无线电,请实施此代码并更改必要的内容:

     var gift_click = 0; function HandleGiftClick() { if (document.getElementById('LeftPanelContent_giftDeed2').checked == true) { gift_click++; memorial_click = 0; } if (gift_click % 2 == 0) {document.getElementById('LeftPanelContent_giftDeed2').checked = false; } } var memorial_click = 0; function HandleMemorialClick() { if (document.getElementById('LeftPanelContent_memorialDeed2').checked == true) { memorial_click++; gift_click = 0; } if (memorial_click % 2 == 0) { document.getElementById('LeftPanelContent_memorialDeed2').checked = false; } } 

    :) 别客气

    我用这种方式在ASP.net中解决你的问题,检查一下..

     radioButton.InputAttributes["show"] = "false"; string clickJs = " if(this.show =='true'){this.show ='false'; this.checked = false;}else{this.show='true'; this.checked = true;};"; radioButton.Attributes["onClick"] = clickJs; 

    在asp.net中,您可以使用这种方式添加属性。 你也可以手动添加一个属性到radioButton,并执行函数(clickJs)来改变ckecked属性!