Я использую Typeahead Ui-Bootstrap. У меня есть два поля Typeahead (Origin and Destination Airport), и оба имеют одинаковый источник данных. Я хочу, чтобы исключить выбранное значение Origin в списке Destination. Как я могу это сделать?
происхождения
<input type="text" ng-model="orig" typeahead="s in data | filter:$viewValue" class="form-control input-lg">
Место назначения
<input type="text" ng-model="dest" typeahead="s in data | filter:$viewValue" class="form-control input-lg">
Я нашел в Google что-то вроде
ng-if="person.name_key!='FirstPerson'"
в элементе ng-repeat, но здесь у меня нет доступа для ng-repeat в HTML.
Пожалуйста помоги.
Вы можете использовать typeahead-on-select($item)
для выполнения обратного вызова, который удалит выбранный элемент из массива данных следующим образом:
<input type="text" ng-model="orig" typeahead="s for s in data | filter:$viewValue"
class="form-control input-lg" typeahead-on-select="onSelect($item)">
А что касается функции onSelect
-
$scope.onSelect = function(item){
$scope.data.push($scope.previouslySelected); // push back the previously selected
$scope.previouslySelected = item; // save the currently selected
var index = $scope.data.indexOf(item);
$scope.data.splice(index, 1);
};
Здесь работает плункер