2011-04-08 204 views
503

我有一些单选按钮,我希望在加载页面时默认将其中一个设置为选中状态。我怎样才能做到这一点?如何默认选择单选按钮?

<input type="radio" name="imgsel" value="" /> 

回答

797

XHTML的解决方案:

<input type="radio" name="imgsel" value="" checked="checked" /> 

请注意,checked属性的实际值实际上并不事宜;这只是一个约定"checked"。最重要的是,像"true""false"这样的字符串没有任何特殊含义。

如果你不瞄准XHTML一致性,可以简化代码:

<input type="radio" name="imgsel" value="" checked> 
+0

复制http://stackoverflow.com/questions/4711036/assign-an-initial-value-to-radio-button-as-checked – 2014-10-19 15:44:26

+73

知道这个问题同样重要:您需要确保此单选按钮组中没有其他输入包含标记checked =“false”,也不是“自己检查”。否则,会检查页面上显示的最后一个。 只有你想要默认选择的那个应该有任何包含“checked”的标记。 – nfriend21 2014-12-14 16:33:06

+0

如果问题仍然存在,则应添加属性** autocomplete =“off”**以强制浏览器设置默认值。 – 2018-01-05 13:31:18

81

使用checked属性。

<input type="radio" name="imgsel" value="" checked /> 

<input type="radio" name="imgsel" value="" checked="checked" /> 
+13

''也会导致按钮被选中。 – FutureNerd 2014-04-10 05:11:30

+32

我建议只使用'checked'或'checked =“检查”'和**强烈**避免使用“true”,因为这意味着“false”会做相反的事......但事实并非如此。 – 2014-11-10 19:18:12

+3

第一个选择是正确答案。布尔属性不应该有值。 – 2015-02-11 18:37:04

23

添加此属性:

checked="checked" 
14

他们几乎得到了它有...就像一个复选框,所有你需要做的就是增加检查属性=“checked”like:

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

。 ..你明白了。

干杯!

61

这并不能完全回答这个问题,但对于任何使用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" 

这使得上加载页面选择了“第二”单选按钮。

+4

我很惊讶,接受的答案不起作用 - 直到我读到您的评论。我也使用AngularJS,并且这工作得很好! – James 2016-01-11 19:24:46

+0

谢谢!你的回答保存了我的代码 – tibelchior 2016-04-04 00:07:20

+0

哇,这就像你读我的思想。这是我正在寻找的答案。谢谢 – digiwebguy 2016-05-12 07:19:10