2016-04-25 55 views
1

如何检查或从选择标记中捕获undefined选择值。 这是为了防止用户忘记从选择框中选择。Angularjs - 如何检查未定义的选择值

一直在尝试下面的JS,但它仍然在控制台日志中显示未定义的错误,而不是在浏览器中显示警报。

CODE

<select ng-model="add.partcode" ng-options="x.part_no for x in DistictPartCode" ng-change="Getlocation()"> 
    <option value="">Please select partcode</option> 
</select> 

JS

if(!angular.isUndefinedOrNull($scope.add.partcode.part_no)){ 
    var Partcode = $scope.add.partcode.part_no; 
    }else { 
    var alertPopup = $ionicPopup.alert({ 
     title: 'Error ...', 
     template: 'Please choose your part code first.' 
    }); 
    } 

OR

if(!$scope.add.partcode.part_no){ 
    var Partcode = $scope.add.partcode.part_no; 
    }else { 
    var alertPopup = $ionicPopup.alert({ 
     title: 'Error ...', 
     template: 'Please choose your part code first.' 
    }); 
    } 

错误控制台。

TypeError: Cannot read property 'part_no' of undefined

+0

任何控制台错误? –

+0

更新问题,请帮助。 –

回答

0

即选择任何对象时是becuse $scope.add.partcode成为对象,否则它只是一个nullnull没有属性来访问它们使用.

尝试这样

if (!$scope.add.partcode) { 
    var alertPopup = $ionicPopup.alert({ 
    title: 'Error ...', 
    template: 'Please choose your part code first.' 
    }); 
} else { 
    var Partcode = $scope.add.partcode.part_no; 
} 
+0

谢谢,现在开始工作 –