在NgRepeat中禁用NgOptions中的选项

时间:2017-05-11 02:35:30

标签: javascript angularjs

我正在尝试禁用每个“部分”中已选择的选项(使用每个ng-repeat循环重置),但我无法弄清楚如何最好地解决这种情况。

我知道我应该使用'禁用时'但是无法弄清楚如何创建(数组?)或跟踪每个选择选项的时间(并且在该ngRepeat循环中禁用其他选择。我需要允许在“section。”部分中选择相同的选择选项。

非常感谢任何建议。提前致谢! 我通过实例学习得最好,希望这对学习AngularJS的其他人有益。

正如此羽毛球所见:Plunker

我有以下AngularJs标记

-1

1 个答案:

答案 0 :(得分:2)

您可以对disable when condition使用禁用语法ng-options documentation here (按关键字快速搜索:disable when)。

ng-options="item.name disable when item.name==='2' for item in items track by item.itemid"

<强> UPD:

根据您的情况,您可以使用object的键维护sectionid(易于设置并通过sectionid获取),并为每个部分动态生成每个{{1}的禁用条件} element。

select

每次更改某个部分的// object looks like this $scope.sectionSelectedItem = { 1: [ concition1, // for first select of sectionid(1) concition2, // for second select of sectionid(1) ... ], 2: [ concition1, // for first select of sectionid(2) concition2, // for second select of sectionid(2) ... ], ... } 元素时,您都可以按select生成当前部分的条件数据。

Plunker demo