2016-12-29 129 views
1

我想检查一个复选框是否定义和取消选中它。在加载时,我的复选框被禁用,我得到的是未定义的错误。我试图把一个条件,以避免错误,但没有奏效检查是否复选框定义

if (typeof $scope.user.test !== 'undefined') 
    { 
     $scope.user.test = false; 
    } 

<md-checkbox ng-model="user.test" layout="row" ng-disabled="userForm.$invalid"> 
     Test 
</md-checkbox> 
+1

为什么不预设它为false? – Raimonds

+0

显示您的输入字段。 – SaiUnique

+0

在一行$ scope.user.test = $ scope.user.test?假:真; –

回答

1

https://plnkr.co/edit/h2t3K0Fwxpo5gAhAeqqt?p=preview这里工作plunker。 您可能忘记包含以下所有依赖关系。 现在你可以做你的工作。

<html lang="en" > 
    <head> 
     <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css"> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js"></script> 
     <script language="javascript"> 
     angular 
      .module('firstApplication', ['ngMaterial']) 
      .controller('checkBoxController', checkBoxController); 

     function checkBoxController ($scope) {  
      $scope.call = function(){ 
       alert($scope.user.test) 
      } 
     } 
     </script>  
    </head> 
    <body ng-app="firstApplication" ng-controller="checkBoxController"> 
     <md-checkbox ng-model="user.test" ng-change="call()" aria-label="No Ink Effects"> 
     Check 
     </md-checkbox> 
    </body> 
</html> 
+1

不,他正在比较'$ scope.user.test'和''undefined''的类型,这是正确的http://stackoverflow.com/questions/2703102/typeof -undefined-vs-null –

+0

谢谢。我改变了它。同样的问题。 – user6934713

+0

我做到了。同样的错误。 – user6934713

相关问题