【问题标题】:How to disable the options in select element based on another select element with same option values?如何基于具有相同选项值的另一个选择元素禁用选择元素中的选项?
【发布时间】:2018-06-05 20:55:45
【问题描述】:

我必须根据在另一个选择中选择的值禁用 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>

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

任何帮助将不胜感激。

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

您可以通过 angular 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

【讨论】:

    【解决方案2】:

    试试下面的代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-03
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多