为选中的单选按钮分配一个初始值


Answers:


164

您可以checked为此使用属性:

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

11
您也可以只提及未分配任何值的属性,即<input type =“ radio” checked>
niksvp 2011年

1
@niksvp,我相信“ checked =“ checked”是预检查单选按钮的有效方法-仅使用“ checked”不是有效的HTML(尽管大多数浏览器都支持)
Matt Healy

9
@matthewh-不,您可以单独使用“选中”,它是有效的HTML(尽管不是有效的XHTML)。我个人更喜欢“检查=‘选中’”,但你不具备使用它......的确,有相当充分的理由反对使用它。
Algy Taylor 2014年

55

您可以使用:

<input type="radio" checked />

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


就像@Matt Healey所说的那样,使用不带属性的checked无效的HTML
salvob

16
@salvob不正确。它不是有效的X html,但是对于HTML5来说是完全有效的,HTML5与所有标准一样具有全局性。
克里斯·马里西奇

14

我将这个答案放在一个类似的问题上,该问题被标记为该问题的重复。答案已经帮助了很多人,所以我想为防万一,我也将其添加到这里。

这并不能完全回答问题,但是对于使用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。您的回答解决了我的问题。谢谢!:)
米塔什·古普塔

3

对于正在寻找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属性()的存在,而忽略其值,因此将检查组中的最后一个输入。


2

另一种方法来设置默认选中的单选按钮,特别是如果你使用angularjs是“NG-检查”标志设置为“真”,例如:<input id="d_man" value="M" ng-disabled="some Value" type="radio" ng-checked="true">

该checked =“ checked”对我不起作用。


原因ng-checked="true"是从angularjs曲目中获取的。
奥古斯塔斯(Augustas)

或将控制器中的模型值设置为“ true”。请注意,将其设置为字符串而不是布尔值!
Thomas David Kehoe

2

请注意,如果您有两个具有相同“名称”属性的单选按钮,并且它们具有“必需”属性,那么将“ 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" />

1

我来晚了一点,我知道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

0

如果您在应用程序中使用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"}
 />
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.