2017-06-15 51 views
2

我正在使用Angular UI Bootstrap typeahead。我有一種情況,我需要從下拉菜單中進行多項選擇。已經選擇的項目需要從下拉列表中刪除,以便任何人都不能再次選擇相同的項目。Angularjs:有沒有辦法從bootstarp ui typeahead的下拉列表中刪除所選項目?

我找到一種方法來選擇帶回調功能的標籤,但不能從列表中刪除該項目。 有關於此的任何解決方法?

PLUNKER

$scope.itemSelected = function($label){ 
    $scope.item = $label; 
    console.log($scope.item); 
} 
+1

從Plunker它不是多功能。請先修復它。謝謝 –

+0

AFAIK bootstrap ui typeahead不允許進行多項選擇。 –

回答

1

不管怎麼說,我會克隆statesWithFlags

$scope.currentStatesWithFlags = angular.copy($scope.statesWithFlags); 

和運行過濾器複製名單爲:

$scope.itemSelected = function(item, model, label, event){ 

    $scope.currentStatesWithFlags = $scope.currentStatesWithFlags.filter(function(_item){ 
       return item.name !== _item.name; 
    }); 
    } 

在HTML:

placeholder="Custom template" 
     uib-typeahead="state as state.name for state in currentStatesWithFlags" 

Plunker Demo

+0

謝謝,這完美地解決了我的問題:) – Raihan

相關問題