Angular 1.x:选中和取消选中复选框时如何执行各种操作

时间:2016-11-10 18:28:27

标签: javascript angularjs

我有一个HTML输入复选框字段,如下所示:

<input type="checkbox"  ng-change="itemChecked()"> Happy

我的Amgular 1.x代码是这样的:

$scope.itemChecked = function(){  
    // do something if checked
    // Eg: I have a google map and when this function is called, 
    //     it loads marker and adds businesses name.        


    // return to original state when unchecked 
    // Eg: When checked, it loads business in Google Map, 
    //     but when unchecked, its supposed to remove marker 
    //     points from google maps, as if the page loaded

};

我能够:

  

//做一些事情,如果选中

但我无法恢复原状状态。

我该怎么做?

仅供参考:将有多个复选框,因此刷新页面无法正常工作。

2 个答案:

答案 0 :(得分:0)

您可以在函数内部传递参数并相应地编写逻辑,

<input type="checkbox"  ng-change="itemChecked(whatevervariable)"> 

在控制器中

$scope.itemChecked = function(variable){  
   if(variable)
   {
    //do this logic
   }
   else
   {
    //revert the logic
   }

};

<强> DEMO

答案 1 :(得分:0)

将ng-model添加到您的输入并在您的更改功能中检查其值

<input type="checkbox" ng-model="checked"  ng-change="itemChecked()">

$scope.itemChecked = function(){  
     if($scope.checked == true){
        // do something if checked
     }
     else{
       // return to original state
     }

};