默认情况下将ng-false值指定为模型

时间:2015-09-17 09:01:19

标签: javascript angularjs

如果ng-true-value的计算结果为false,我想将ng-false-value中的值设置为复选框。

<span data-ng-repeat="val in value track by val.levelId">
  <input type="checkbox" data-ng-model="val.levelId" data-ng-true-value="{{isINFemale(val.levelId,key)}}" data-ng-false-value="-1"/>
</span>

2 个答案:

答案 0 :(得分:0)

您错过了ng-checked属性。试试这个......

<div ng-app ng-controller="myCtrl">
    My value <input type="checkbox" ng-true-value="{{box.true}}" ng-false-value="{{box.false}}" ng-model="myValue" ng-checked="myValue == box.true">
    {{myValue}}
</div>

function myCtrl($scope){
    $scope.box = {true: 1, false: -1}
    $scope.myValue = $scope.box.true;
}

JSFiddle

- 编辑 -

在您的情况下添加以下内容。

<span data-ng-repeat="val in value track by val.levelId">
  <input type="checkbox" data-ng-model="val.levelId" data-ng-true-value="{{isINFemale(val.levelId,key)}}" data-ng-false-value="-1" data-ng-checked="val.levelId == isINFemale(val.levelId,key)"/>
</span>

答案 1 :(得分:0)

您可以在ng-true-value属性中使用三元运算符。

<span data-ng-repeat="val in value track by val.levelId">
    <input type="checkbox" data-ng-model="val.levelId"
           data-ng-true-value="{{isINFemale(val.levelId,key) ? isINFemale(val.levelId,key) : (-1)}}" 
           data-ng-false-value="-1"/>
</span>

希望这有帮助。