2017-06-06 91 views
1

我必须禁用基于在另一选择中选择的值的选择选项。如何根据另一个具有相同选项值的select元素禁用select元素中的选项?

<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> 

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

任何帮助,将不胜感激。

+0

你可以参考:https://stackoverflow.com/a/38417100/7951293 –

+0

@ Nithin Charly不需要我需要禁用 – pbsbr

+0

@pbsbr:查看禁用的答案。 – anoop

回答

0
<select ng-controller="myCtrl" ng-app="myApp1" ng-model="myval" ng-options="lst as lst.txt for lst in valuedata track by $index" ></select> 
<select ng-controller="myCtrl2" ng-app="myApp2" ng-model="myval" ng-options="lst as lst.txt for lst in valuedata track by $index" ></select> 

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

</script> 
0

您可以通过disable when语法角1.4+版本实现这一目标。 。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

相关问题