【发布时间】:2011-08-01 07:56:07
【问题描述】:
我有一些单选按钮,我希望在加载页面时将其中一个设置为默认选中。我该怎么做?
<input type="radio" name="imgsel" value="" />
【问题讨论】:
标签: html radio-button
我有一些单选按钮,我希望在加载页面时将其中一个设置为默认选中。我该怎么做?
<input type="radio" name="imgsel" value="" />
【问题讨论】:
标签: html radio-button
XHTML 解决方案:
<input type="radio" name="imgsel" value="" checked="checked" />
请注意,checked 属性的实际值实际上并不重要;分配"checked" 只是一个约定。最重要的是,"true" 或 "false" 这样的字符串没有任何特殊含义。
如果您的目标不是 XHTML 一致性,您可以将代码简化为:
<input type="radio" name="imgsel" value="" checked>
【讨论】:
使用选中的属性。
<input type="radio" name="imgsel" value="" checked />
或
<input type="radio" name="imgsel" value="" checked="checked" />
【讨论】:
<input type="radio" name="imgsel" value="" checked="false" /> 也会检查按钮。
checked 或checked="checked" 并且强烈 避免使用“true”,因为这意味着“false”会适得其反……它不会't。
这并不能完全回答这个问题,但对于任何使用 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"
这会在加载页面时选择“第二个”单选按钮。
编辑:自 AngularJS 2.x
如果您使用的是 2.x 及更高版本,则上述方法不起作用。而是使用ng-checked 属性,如下所示:
<input type='radio' name='gender' ng-model='genderValue' value='male' ng-checked='genderValue === male'/>Male
<input type='radio' name='gender' ng-model='genderValue' value='female' ng-checked='genderValue === female'/> Female
【讨论】:
添加此属性:
checked="checked"
【讨论】:
他们几乎做到了...就像一个复选框,您所要做的就是添加属性checked="checked",如下所示:
<input type="radio" checked="checked">
...你明白了。
干杯!
【讨论】: