我有一个使用ng-options填充的选择框,我需要根据选择框中选择的内容有条件地更改某些字段的要求。我的函数来检查值是否在数组中:
$scope.getBTypeSelected = function () {
return $scope.formData.businessType;
};
// Business Type conditionals
$scope.isRequired = function() {
var notRequired = ['2', '5', '6', '7', '12', '80'];
if ($.inArray($scope.getBTypeSelected(), notRequired) == -1) {
return false;
}else {
return true;
}
};
我已经尝试过观察范围变量以进行更改并更新它,并且我已经尝试通过函数检索当前值到目前为止无效。
我知道条件符号正在获取该变量的初始值,但我不明白为什么我无法更新它。
以下是一位了解我的问题的人:http://plnkr.co/edit/FKFvDu2RMjDKRva6JYwi?p=preview
感谢任何帮助!
答案 0 :(得分:4)
您正在将字符串与整数进行比较。您的数组包含字符串,但您选择的项目是整数,因此inArray
始终返回false。我将数组更改为整数,并按预期工作。
var notRequired = [2, 5, 6, 7, 12, 80];