Ivan-P
@Ivan-P

Как реализовать такой функционал формы на Angular?

Есть массив:
items = [
{name: "Item1", category: "Cat1", price: 11},
{name: "Item2", category: "Cat1", price: 10},
{name: "Item3", category: "Cat2", price: 12},
];

Есть форма по добавлению новых записей в массив
<input type="text" ng-model="item.name">
<select ng-model="item.category" class="form-control">
                <option ng-repeat="category in categoryList" value="{{category}}">{{category}}</option>
            </select>
<input type="text" ng-model="item.price">
<button ng-click="addItem()">Add Item</button>
...


Если я ввожу новые данные и сабмичу форму то в массив добавляется новый обьект. Вроде бы все понятно и работает.
Потом я к первому инпуту добавляю директиву автокомплита angular-ui.github.io/bootstrap/#/typeahead
<input type="text" ng-model="item.name"  uib-typeahead="item as item.name for item in items | filter:$viewValue">

Нужно чтобы когда из выпадающего списка автокомплита выбирается существующий item, то в поля категории и цены подставлялись данные из item и при сабмите формы не добавлялся в items новый обьект, а редактировался выбранный.
Но как это реализовать?
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
typeahead-on-select="vm.onNameSelected($item, $model, $label)"


а уж в методе onNameSelected контроллера рарзуливайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы