NG-检查='真'不工作

时间:2017-04-24 07:55:31

标签: html angularjs html5 radio-button angularjs-ng-checked

模板 - 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',但它无效。

2 个答案:

答案 0 :(得分:1)

ng-checked用于评估表达式

  

ngChecked

     

如果表达式在内,则在元素上设置checked属性   ngChecked是真实的。

因此,使用ng-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值:如果2,请拨打ctrl.goToTwo()功能。

请注意,您也可以在控制器中设置此值,而不是ng-init

答案 1 :(得分:0)

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

<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