如何根据具有相同选项值的另一个select元素禁用select元素中的选项?

时间:2017-06-06 13:20:41

标签: javascript angularjs

我必须根据在另一个选择中选择的值禁用slect选项。

<select   ng-model="myval" ng-options="lst as lst.txt  for lst in valuedata track by $index" ></select>


   <select   ng-model="myval" ng-options="lst as lst.txt  for lst in valuedata track by $index" ></select>

这里我得到相同的数据,但我的要求是,如果我在第一个下拉列表中选择两个,我需要在第二个下拉列表中禁用小于2的值,如果我在下拉列表中选择两个,我需要禁用大于2的值在第一次下拉。

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

尝试以下代码:          

<script>
var app = angular.module('myApp1', []);
app.controller('myCtrl', function($scope) {
    //get your value and compare
});
var app2 = angular.module('myApp2', []);
app2.controller('myCtrl2', function($scope) {
    //get your value and compare
});

</script>

答案 1 :(得分:0)

您可以通过 {1.4> 版本的 disable when 语法实现此目的。 Read Doc.

在你的问题中,我建议有2个不同的ng-model属性(虽然你可以通过单个道具来实现这个)。你可以这样做:

    <select ng-model="data.first" ng-options="lst.txt as lst.txt disable when lst.txt > data.second for lst in valuedata">
    </select>

    <select ng-model="data.second" ng-options="lst.txt as lst.txt disable when lst.txt < data.first for lst in valuedata">
   </select>

这是working fiddle