【问题标题】:Assign an initial value to radio button as checked为选中的单选按钮分配一个初始值
【发布时间】:2011-06-10 07:24:51
【问题描述】:

如何分配最初在 HTML 中选中的单选按钮的值?

【问题讨论】:

    标签: html radio-button


    【解决方案1】:

    您可以为此使用checked 属性:

    <input type="radio" checked="checked">
    

    【讨论】:

    • 您也可以只提及没有分配值的属性,即
    • @niksvp 我相信checked="checked" 是预先检查单选按钮的有效方法——仅使用"checked" 不是有效的HTML(尽管大多数浏览器都支持)
    • @matthewh - 不,您可以单独使用“已检查”,它是有效的 HTML(尽管不是有效的 XHTML)。就我个人而言,我更喜欢 'checked="checked"',但您没有必须使用它......确实,有一个非常强烈的理由反对使用它。跨度>
    【解决方案2】:

    你可以使用:

    <input type="radio" checked />
    

    仅使用检查的属性而不说明值与checked="checked" 相同。

    【讨论】:

    • 正如@Matt Healey 所说,使用不带属性的检查是无效的HTML
    • @salvob 不正确。它不是有效的 Xhtml,但它对于 HTML5 是完全有效的,因为它是一个全球性的标准。​​
    【解决方案3】:

    我已将此答案放在标记为与此问题重复的类似问题上。答案已经帮助了相当多的人,所以我想我也会在这里添加它以防万一。

    这并不能完全回答这个问题,但对于任何使用 AngularJS 试图实现这一点的人来说,答案略有不同。实际上,正常的答案是行不通的(至少对我来说不是)。

    您的 html 看起来与普通的单选按钮非常相似:

    <input type='radio' name='group' ng-model='mValue' value='first' />First
    <input type='radio' name='group' ng-model='mValue' value='second' /> Second
    

    在您的控制器中,您将声明与单选按钮关联的mValue。要预先选择这些单选按钮之一,请将与组关联的 $scope 变量分配给所需输入的值:

    $scope.mValue="second"
    

    这会在加载页面时选择“第二个”单选按钮。

    【讨论】:

    • 确实!以上答案不适用于 Angular JS。你的回答解决了我的问题。谢谢! :)
    【解决方案4】:

    对于寻找 Angular2 (2.4.8) 解决方案的任何人,因为这是搜索时普遍流行的问题:

    <div *ngFor="let choice of choices">
      <input type="radio" [checked]="choice == defaultChoice">
    </div>
    

    这会将checked 属性添加到给定条件的输入中,但如果条件失败,则不会添加任何内容。

    不要这样做:

    [attr.checked]="choice == defaultChoice"
    

    因为这会将属性checked="false" 添加到每个其他输入元素。

    由于浏览器只查找checked 属性()的存在,而忽略其值,因此将检查组中的最后一个输入。

    【讨论】:

      【解决方案5】:

      在单选按钮上设置默认选中的另一种方法,尤其是在使用 angularjs 时,将“ng-checked”标志设置为“true” 例如:&lt;input id="d_man" value="M" ng-disabled="some Value" type="radio" ng-checked="true"&gt;Man

      checked="checked" 对我不起作用..

      【讨论】:

      • 因为 ng-checked="true" 来自 angularjs 曲目。
      • 或者将控制器中的模型值设置为“true”。请注意,您将其设置为字符串,而不是布尔值!
      【解决方案6】:

      请注意,如果您有两个具有相同“name”属性的单选按钮并且它们具有“required”属性,则向它们添加“checked”属性不会使它们被选中。

      示例:这会使两个单选按钮保持未选中状态。

      <input type="radio" name="gender" value="male" required <?php echo "checked"; ?>/>
      <input type="radio" name="gender" value="female" required />
      

      这将使“男性”单选按钮被选中。

      <input type="radio" name="gender" value="male" <?php echo "checked"; ?>/>
      <input type="radio" name="gender" value="female" />
      

      【讨论】:

        【解决方案7】:

        我参加聚会有点晚了,我知道 OP 说 html,但如果你需要在 MVC 中执行此操作,你可以在第三个参数中设置 true

        例如:

            <p>Option One :@Html.RadioButton("options", "option1", true})</p>
            // true will set it checked
        
             <p>Option Two :@Html.RadioButton("options", "option2"})</p>
             //nothing will leave it unchecked
        

        【讨论】:

          【解决方案8】:

          如果您的应用程序使用 react-redux,并且想要显示 redux 存储中的数据,您可以设置“checked”选项,如下所示。

          <label>Male</label>
          
           <input
             type="radio"
             name="gender"
             defaultChecked={this.props.gender == "0"}
           />
          
          
          
           <label>Female</label>
           <input
             type="radio"
             name="gender"
             defaultChecked={this.props.gender == "1"}
           />
          

          【讨论】:

            猜你喜欢
            • 2011-06-10
            • 2016-07-28
            • 2012-03-23
            • 1970-01-01
            • 2013-03-02
            • 2015-09-04
            • 2020-11-05
            • 1970-01-01
            • 2017-01-24
            相关资源
            最近更新 更多