【问题标题】:Can't clear radio buttons无法清除单选按钮
【发布时间】:2020-06-27 12:41:46
【问题描述】:

如何清除这些复选框:

<form class="betMatch" id="4">

<table class="grid-info">
 <tr>                
  <td><input type="radio" class="betMatchWin" id="49" value="1" name="betmatch1" /></td>
  <td><input type="radio" class="betMatchCover" id="49" value="2" name="betmatch1" /></td>
 </tr>
</table>

</form>

我的 JQuery:

var x=1;

$('form.matchBet#4 input:radio[name=betmatch'+x+']').attr('checked',false);

我不明白为什么它不起作用但按钮不会清除....

【问题讨论】:

    标签: jquery button radio-button


    【解决方案1】:

    使用

    .removeAttr('checked')
    

    .prop('checked',false)
    

    第二个更好 - http://api.jquery.com/prop/

    啊是的..代码有错误^_^应该是:

    var x=1;
    
    $('form.betMatch#4 :radio[name=betmatch'+x+']').prop('checked',true);
    

    http://jsfiddle.net/fGkM3/

    (仅检查第二个,因为它们具有相同的名称,这就是单选按钮的工作方式。这只是一个示例,在您的情况下使用 false

    【讨论】:

      【解决方案2】:

      试试下面的代码:

      $('form.matchBet#4 input:radio[name=betmatch'+x+']').removeAttr('checked');
      

      【讨论】:

      • 我刚刚注意到页面上有几组具有相同名称类和 id 的单选按钮。但是表单 id 不同,所以这应该使它们不同,对吧?
      • 试试这个 $(':radio[name=betmatch'+x+']',$('form.matchBet#4')).removeAttr('checked');
      【解决方案3】:

      试试这个...

      $('input[name=betmatch'+x+']').removeAttr('checked');

      【讨论】:

        【解决方案4】:

        如果你想全部清除:

        $('form.betMatch#4 :radio[name=betmatch'+x+']').each(function() {
            $(this).prop("checked", false);
        });
        

        【讨论】:

        • 我认为 $(this) 对象正在干扰我的脚本的其余部分 - 它搞砸了
        • $(this) 包含在函数中。它不应该与任何东西混淆......我会制作一个小提琴来演示它。给我几分钟。
        • 看到这个:jsfiddle.net/JmJAY .. 运行它,检查一个收音机,点击按钮,它就会清除。
        【解决方案5】:
        <!DOCTYPE html>
        <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <title>Clear Radio Button</title>
            <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
            <script type="text/javascript">
                function clear_radio(){
                    var x = 1;
                    $('input[name=betmatch'+x+']').removeAttr('checked');
                }
            </script>
        </head>
        
        <body>
            <form class="betMatch" id="4">
        
            <table class="grid-info">
                <tr>         
                    <td><input type="radio" class="betMatchWin" id="49" value="1" name="betmatch1" /></td>
                    <td><input type="radio" class="betMatchCover" id="49" value="2" name="betmatch1" /></td>
                </tr>
            </table>
        
            </form>
            <input type="button" onclick="javascript: clear_radio()" value="clear" />
        </body>
        </html>
        

        希望它有效...

        【讨论】:

          【解决方案6】:

          抱歉,伙计们,你们所有的答案都是正确的,但是我的 x 变量设置不正确,所以虽然表单的类和 id 是正确的,但我引用了错误的无线电名称。抱歉浪费你的时间:0(

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-10
            • 1970-01-01
            • 2018-09-11
            • 2014-07-04
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多