复选框上的不同文本打印/取消选中angularjs

时间:2016-12-19 12:27:10

标签: javascript angularjs checkbox

我正在创建一个网络应用,当用户点击切换按钮'yes'时,如果用户点击两次$scope变量,我将使用切换按钮'no'变量应存储在$scope变量

这是我的切换按钮编码

<div class="switch">
     <input ng-click="clickcheckbox()" id="cmn-toggle-1" class="cmn-toggle cmn-toggle-round" type="checkbox">
     <label for="cmn-toggle-1"></label>
 </div>

我已经ng-click,因为我无法使用ng-checked

执行此操作

这是我的控制器

$scope.clickcheckbox=function(){
    //if user check the checkbox
    $scope.check='yes';
    //if user uncheck the checkbox
    $scope.check='no';
    }

如果还有其他更好的方法(请帮我解决)

3 个答案:

答案 0 :(得分:1)

您可以使用以下代码:

HTML

<input type="checkbox" ng-model="checkboxModel.value2"
           ng-true-value="'YES'" ng-false-value="'NO'">

的javascript:

$scope.checkboxModel = { 
       value2 : 'YES'
     };

其中:

ngTrueValue  : The value to which the expression should be set when selected.

ngFalseValue : The value to which the expression should be set when not selected.

Working example

Source

答案 1 :(得分:0)

以下代码应该有效。

$scope.clickcheckbox = function() {
    if($scope.check == undefined || $scope.check = 'no') {
        $scope.check = 'yes';
    } else {
         $scope.check = 'no';
    }
}

作为旁注,处理复选框和布尔值的常用方法是执行以下操作:

 <input type="checkbox" ng-click="check = !check">

此处,每次点击都会恢复truefalse之间的值。

答案 2 :(得分:0)

试试这个:

$scope.clickcheckbox=function(){
    $scope.check=='yes'? $scope.check='no': $scope.check='yes';     
}

Inh HTML:

<div class="switch" ng-init="check='yes'">
     <input  ng-click="clickcheckbox()" id="cmn-toggle-1" class="cmn-toggle cmn-toggle-round" type="checkbox">
     <label for="cmn-toggle-1">{{check}}</label>
</div>