2013-10-30 30 views
3

伍模型这里是我的代码:Angular.js。复选框

<input type="checkbox" ng-model="variable"> 

在这种情况下variable将根据复选框的状态是truefalse。我需要设置不是true/false,而是设置"+"/"-"。什么是最简单的方法来做到这一点? 谢谢。

+0

没有任何anwser是有帮助? –

回答

6

According to the docs,你应该使用ng-true-value和/或ng-false-value覆盖truefalse值:

<input type="checkbox" ng-model="variable" ng-true-value="+" ng-false-value="-"> 
2

使用ng-click来做到这一点。

<input type="checkbox" ng-model="variable" ng-click="check()"> 

在控制器:

$scope.check = function() { 
    $scope.selected = $scope.variable === true ? '+' : '-'; 
}; 

Live Plunker.

1

只安装在您的复选框型号的手表。

HTML:

<input type="checkbox" ng-model="isChecked"> 

的JavaScript:

// set initial value 
$scope.isChecked = $scope.variable === '+'; 

// watch for changes to the checkbox model 
$scope.$watch('isChecked', function(newVal) { 
    $scope.variable = newVal ? '+' : '-'; 
}; 
+0

只是提醒一下:你不需要为$ scope.isChecked变量设置初始值。角度将被评估为假,除非你想强制创建为真。避免使用$ watch表达式总是一个好主意,特别是在大型应用程序中,或者您可以选择不使用$ watch的时候。 =) –

+0

正确。我只是把它放在那里,以演示如何初步设置复选框的值。 –