我有一個表單,您可以在其中添加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,以便我可以將這些東西放在那裏。 –