如何在 angular js 中禁用其他选项并在具有相同值的多个下拉列表中附加值?
How to disable other options and append values in multiple dropdown with same values in angular js?
我需要 3 个具有相同值的下拉列表。第一个下拉菜单对于 select 是强制性的。其余2个可选
所有 3 个下拉列表都有相同的选项。如果用户 select 在下拉列表 1 中选择了某个选项,则其他下拉列表将禁用该选项。在 3 个下拉列表被 selected 之后,selected 值将在同一页面中显示为文本。该文本随后将被推送到数据库中。数据库字段是 selected_option.
我是 angular 的新手,并且在这方面停留了很长时间。我在这里错过了什么?请帮助:(
这是我的看法
<div class="row form-group">
Selected:
Dropdown 1 : <select class="form-control" ng-model="selected_option[0]"
ng-options="option.value as option.text for option in params">
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 2 : <select class="form-control" ng-model="selected_option[1]"
ng-options="option.value as option.text for option in params">
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 3 : <select class="form-control" ng-model="selected_option[2]"
ng-options="option.value as option.text for option in params">
</select>
{{ selected_option }}
</div>
这是我的控制器
$scope.selected_option = [];
$scope.params= [
{value: "A", text: "A"},
{value: "B", text: "B"},
{value: "C", text: "C"},
];
您可以使用 ng-repeat
而不是使用 ng-options
来显示所有选项。通过使用 ng-disabled
你可以禁用一些选项。
<div class="row form-group">
Selected:
Dropdown 1 :
<select class="form-control" ng-model="selected_option[0]">
<option ng-repeat="option in params" ng-value="option.value">{{ option.value }}</option>
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 2 :
<select class="form-control" ng-model="selected_option[1]">
<option ng-repeat="option in params" ng-value="option.value" ng-disabled="option.value == selected_option[0]">{{ option.value }}</option>
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 3 :
<select class="form-control" ng-model="selected_option[2]">
<option ng-repeat="option in params" ng-value="option.value" ng-disabled="option.value == selected_option[0] || option.value == selected_option[1]">{{ option.value }}</option>
</select>
{{ selected_option }}
</div>
我需要 3 个具有相同值的下拉列表。第一个下拉菜单对于 select 是强制性的。其余2个可选
所有 3 个下拉列表都有相同的选项。如果用户 select 在下拉列表 1 中选择了某个选项,则其他下拉列表将禁用该选项。在 3 个下拉列表被 selected 之后,selected 值将在同一页面中显示为文本。该文本随后将被推送到数据库中。数据库字段是 selected_option.
我是 angular 的新手,并且在这方面停留了很长时间。我在这里错过了什么?请帮助:(
这是我的看法
<div class="row form-group">
Selected:
Dropdown 1 : <select class="form-control" ng-model="selected_option[0]"
ng-options="option.value as option.text for option in params">
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 2 : <select class="form-control" ng-model="selected_option[1]"
ng-options="option.value as option.text for option in params">
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 3 : <select class="form-control" ng-model="selected_option[2]"
ng-options="option.value as option.text for option in params">
</select>
{{ selected_option }}
</div>
这是我的控制器
$scope.selected_option = [];
$scope.params= [
{value: "A", text: "A"},
{value: "B", text: "B"},
{value: "C", text: "C"},
];
您可以使用 ng-repeat
而不是使用 ng-options
来显示所有选项。通过使用 ng-disabled
你可以禁用一些选项。
<div class="row form-group">
Selected:
Dropdown 1 :
<select class="form-control" ng-model="selected_option[0]">
<option ng-repeat="option in params" ng-value="option.value">{{ option.value }}</option>
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 2 :
<select class="form-control" ng-model="selected_option[1]">
<option ng-repeat="option in params" ng-value="option.value" ng-disabled="option.value == selected_option[0]">{{ option.value }}</option>
</select>
</div>
<div class="row form-group">
Selected:
Dropdown 3 :
<select class="form-control" ng-model="selected_option[2]">
<option ng-repeat="option in params" ng-value="option.value" ng-disabled="option.value == selected_option[0] || option.value == selected_option[1]">{{ option.value }}</option>
</select>
{{ selected_option }}
</div>