[英]How to restrict dropdown to choose only one value using angular?
我有下拉列表,其中哪些選項來自使用ng-repeat的數組。 它像正常的下拉菜單一樣工作。 但是我想要一種不同的方式。 如果選擇了一個選項,則應在其他下拉菜單中將其禁用。 我們能做到這樣嗎?
<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>
控制器代碼:
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鏈接。
您可以通過在關鍵字for
之前的disable when condition
中使用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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.