2016-12-29 132 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

相關問題