javascript - 如何使用 Angular 限制下拉菜单仅选择一个值?

标签 javascript angularjs ng-options angularjs-ng-options

我有一个下拉菜单,其中的选项来自使用 ng-repeat 的数组。它像正常的下拉菜单一样工作。但我想要以不同的方式。如果选择了一个选项,则应在其他下拉列表中禁用它。我们可以用 Angular 这样做吗?

<div ng-app="myApp" ng-controller="MyCtrl">
    <div ng-repeat="address in addresses">
        Billing State:
        <select
            ng-model="address.state"
            ng-options="state.lookupCode as state.description for state in lov_state"></select>
        <tt>State selected: {{address.state}}</tt>
    </div>

</div>

Controller 代码:

var myApp = angular.module('myApp', []);

myApp.controller('MyCtrl', function($scope) {

    $scope.addresses = [
        {'state': 'AL'},
        {'state': 'CA'},
        {'state': 'FL'}
    ];

    $scope.lov_state = [
        {'lookupCode': 'AL', 'description': 'Alabama'},
        {'lookupCode': 'FL', 'description': 'Florida'},
        {'lookupCode': 'CA', 'description': 'California'},
        {'lookupCode': 'DE', 'description': 'Delaware'}
    ];
});

请帮我做到这一点。这是 jsfiddle 链接。

https://jsfiddle.net/santhosh1a32/3vd7hyrq/

最佳答案

您可以通过在 for< 之前的位置使用 disable when condition 来使用 ng-options 中提供的 disable 选项 关键字。

<div ng-repeat="address in addresses">
  Billing State:
  <select ng-model="address.state" ng-change="checkSelected(address.state)" 
    ng-options="state.lookupCode as state.description disable when (address.state != state.lookupCode && state.selected) for state in lov_state">
  </select>
  <tt>State selected: {{address.state}}</tt>
</div>

Demo Here

关于javascript - 如何使用 Angular 限制下拉菜单仅选择一个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35426757/

相关文章:

angularjs - 从 AngularJS 中的 URL 中删除 '#' 后,我在页面重新加载时收到错误

javascript - 如何使用 select 和对象数组在 AngularJS 中设置模型的值

angularjs - 带有简单数组初始化的 ng-options

javascript - ng-options 默认选项,显示所有选项

javascript - 无法将 undefined 转换为对象?

javascript - 如何在不使用按钮或 tbody 的情况下单击动态生成的表中的一行来获取 HTML 表中单元格的值

javascript - 0.0 到 0.999 之间数字的正则表达式 onkeyup

javascript - Leaflet 中的 TopoJSON,来自 Omnivore : reading properties

javascript - ionic : How to make a ng-href link work inside a ui-sref element?

javascript - AngularJS:将数据发布到服务器