我有一个表单,您可以在其中添加x个字段。每个字段包含选项选择。如果此选项在之前的一个或多个字段中已被选中,我想过滤掉已经选择的选项。每个字段都有一个删除按钮,表单有1个添加按钮。AngularJS过滤器已从动态字段中选择选项
如何过滤动态字段? 任何帮助,指导是最受欢迎的。提前感谢。 :)
这是我的HTML看起来像:
<div data-ng-repeat="choice in choices">
<select data-ng-model="choice.option"
data-ng-options="item as item.Value for item in options">
</select>
<button data-ng-click="removeChoice(choice)">Remove choice</button>
<div>
<button data-ng-show="choices.length <= 4" data-ng-click="addNewChoice()">Add Choice</button>
</div>
</div>
而且我的控制器:
$scope.options = [
{
"Key": "0",
"Value": "Select an option"
},
{
"Key": "Option1",
"Value": "Option1"
},
{
"Key": "Option2",
"Value": "Option2"
},
{
"Key": "Option3",
"Value": "Option3"
},
{
"Key": "Option4",
"Value": "Option4"
},
{
"Key": "Option5",
"Value": "Option5"
}
];
$scope.choices = [{ id: '1' }];
$scope.addNewChoice = function() {
var newItemNo = $scope.choices.length + 1;
$scope.choices.push({ id: newItemNo, option: $scope.option, value: $scope.value });
};
$scope.removeChoice = function() {
var index = $scope.choices.indexOf(choice);
$scope.choices.splice(index, 1);
};
你是说一个新的'choice'你应该还没有在其他选项中选择独特的'options'?什么是'$ scope.option'(no ** s **)?这只是一个错字吗? –
确切地说,您所做的选择不应在下一个选项中提供。它应该被过滤掉。你是什么意思(不是)?我推$ scope.option,$ scope.value和ID来添加一个新选项。 – Wanwan
对不起,我有点忙。我已经为此编写了一个解决方案,可以请您创建一个简单的plunkr,以便我可以将这些东西放在那里。 –