【发布时间】:2016-04-08 03:43:43
【问题描述】:
我有一个包含一些依赖项的下拉列表。我已经设法从数据集中填充列表并正确过滤它。下一步是选择默认值。这很复杂,因为默认设置在其他地方,所以我需要通过选项,看看它是否与定义的默认匹配并设置它,否则保持它没有默认。
我的数据集在 ng-repeat 中被过滤,只保留与变量 $scope.require = MUST 关联的值。
这是第一个下拉菜单的模板:
ng-repeat="option in firstList | filter: require: true"
我有一个来自不同数据集的变量,它说明下拉菜单的默认值应该是什么。如果option in firstList 等于这个默认数字defnum,它应该是下拉菜单的默认值。
所以如果 defnum = 4,我希望下拉列表中的默认值是最后一个条目,其中 DefCom = 4。
"success" : true,
"data" :
"this_info" : [{
"Req" : "MUST",
"DefCom" : "1",
}, {
"Req" : "NoMUST",
"DefCom" : "5"
}, {
"Req" : "MUST",
"DefCom" : "4"
}]}
有没有办法在 ng-model 中做到这一点,还是我必须编写一个 angular.forEach 循环?我尝试编写 angular.forEach 循环,但我只想循环遍历已在 ng-repeat 中过滤的值,我不想重写该过滤器(除非我必须这样做)。
【问题讨论】:
-
您应该使用
ng-options而不是ng-repeat,以及ng-model。当您将ng-model属性设置为一个值时,如果该值出现在下拉列表中,它会自动将下拉菜单设置为该行项目的默认值。
标签: javascript angularjs angularjs-ng-repeat default angularjs-filter