【问题标题】:How to check the radio button by default默认情况下如何检查单选按钮
【发布时间】:2015-10-02 15:49:36
【问题描述】:

这是我的单选按钮。

<input type="radio" id="MyRadio" value=1>
<input type="radio" id="MyRadio" value=2>
<input type="radio" id="MyRadio" value=3>

在脚本中我想检查第三个单选按钮

$('#MyRadio').attr('checked',true); 但它没有检查任何单选按钮。

var target = '3';

如何使用id="MyRadio"value=3 检查单选按钮?

【问题讨论】:

  • 忘记关闭类型&lt;input type="radio" id="MyRadio" value=1&gt;
  • @Saty 是的,这就是问题中的类型。我现在更正了。我该怎么做..?\
  • 一个 ID 应该始终是唯一的。请使用“名称”代替*.com/questions/8305953/…

标签: php html css forms


【解决方案1】:

首先,将类型设置为单选后,您会丢失一个引号。第二个问题是在多个元素上使用相同的 ID,一个类更适合该工作。

javascript应该是这样的:

$('.MyRadio').eq(2).attr('checked', true)

First 是使用类名的选择器,Second 是 eq 函数,它通过索引从数组中获取元素。第三是像您所做的那样设置选中的属性:)。

https://jsfiddle.net/un5pfee2/

【讨论】:

    【解决方案2】:

    请试试这个。只需为单选按钮指定名称属性即可。

    $('input:radio[name="MyRadio"]').filter('[value="3"]').attr('checked', true);
    

    【讨论】:

      【解决方案3】:

      首先id 应该是唯一的,因此请将您的id 改为class

      所以 HTML 变成:

      <input type="radio" class="MyRadio" value=1>
      <input type="radio" class="MyRadio" value=2>
      <input type="radio" class="MyRadio" value=3>
      

      使用 Jquery > 1.9

      $(".MyRadio:radio[value=3]").prop("checked", true)
      

      见小提琴:http://jsfiddle.net/y6s31h8d/

      【讨论】:

        【解决方案4】:

        http://api.jquery.com/prop/

        关于布尔属性,考虑一个由 HTML 标记定义的 DOM 元素,并假设它位于名为 elem 的 JavaScript 变量中:

        elem.checked    true (Boolean) Will change with checkbox state
        $( elem ).prop( "checked" )     true (Boolean) Will change with checkbox state
        elem.getAttribute( "checked" )  "checked" (String) Initial state of the checkbox; does not change
        $( elem ).attr( "checked" ) (1.6)   "checked" (String) Initial state of the checkbox; does not change
        $( elem ).attr( "checked" ) (1.6.1+)    "checked" (String) Will change with checkbox state
        $( elem ).attr( "checked" ) (pre-1.6)   true (Boolean) Changed with checkbox state
        

        正确:

        <input type="radio" id="MyRadio3" value=3>
        $("MyRadio3").checked
        

        如果您将 3 个元素命名为相同的 id,则没有任何意义。你应该使用类。

        【讨论】:

        • 天哪,我想在JQuery 中这样做,而不是直接给出checked 属性
        【解决方案5】:

        $('#MyRadio').val(3); 它应该可以工作

        【讨论】:

        • 这是怎么检查的?
        【解决方案6】:
        $('input[name=type][value=2]').prop('checked', 'checked');
        

        您可以尝试根据其值来检查单选按钮。

        【讨论】:

          【解决方案7】:

          你错过了一个“

          试试下面的代码

          <input type="radio" id="MyRadio1" value=1>
          <input type="radio" id="MyRadio2" value=2>
          <input type="radio" id="MyRadio3" value=3>
                            ^
          
          
          
          
          $("#MyRadio3").attr('checked', 'checked');
          

          将其从“true”更改为“checked”。

          对于 jQuery 1.9 或更高版本使用:(可能从 1.6 开始)

          $("#MyRadio3").prop("checked", true)
          

          【讨论】:

            最近更新 更多