0

模板 - 1

<ul>
  <li>
    <label><input type="radio" ng-checked="true" /> One</label>
  </li>
  <li>
    <label ng-click="ctrl.goToTwo()"><input type="radio" /> Two</label>
  </li>
<ul>

模板 - 2

<ul>
  <li>
    <label ng-click="ctrl.goToOne()"><input type="radio" /> One</label>
  </li>
  <li>
    <label><input type="radio" ng-checked="true" /> Two</label>
  </li>
<ul>

在上面的 html 中,我只是在单选按钮的帮助下将用户重定向到模板 1 到模板 2。

问题 我已经清楚地提到ng-checked=true了两个模板中的单选按钮。但我不知道为什么它们在加载时都未选中。

如果我遗漏了什么或需要做其他事情,请告诉我。

注意:我试过玩,ng-model='one'vm.type='one'它不起作用。

4

2 回答 2

1

您必须在“收音机”输入中添加“值”

<input type="radio" ng-model="myRadio" value="1" />

稍后在您的代码中

$scope.myRadio = "1" // check radio
$scope.myRadio = "0" // radio not checked

演示:

https://codepen.io/anon/pen/QvKNOQ

于 2017-04-24T08:24:07.007 回答
1

ng-checked 用于评估表达式

ngChecked

如果里面的表达式为真,则设置checked元素的属性 ngChecked

所以 usingng-checked="true"将搜索一个$scope.true变量,这显然不是你要找的。


如果您ng-model在输入上使用,则可以默认设置该ng-model值:

<div ng-init="ctrlNumber = 1">
    <input type="radio" ng-model="ctrlNumber" value="1"/>
    <input type="radio" ng-model="ctrlNumber" value=2"/>
</div>

当您提交表单时,请检查ctrlNumber值: if 2,调用您的ctrl.goToTwo()函数。

请注意,您也可以在控制器中设置此值,无需ng-init.

于 2017-04-24T10:11:16.690 回答