Я использую поле выбора из ui-select. Все работает нормально, но я хочу разрешить вводимый вручную текст и не хочу ограничивать пользователя из значений, доступных в списке. Если я набираю текст, он правильно фильтрует мой список. Но когда я не нажимаю на элемент и не перехожу к следующему полю, мой текст будет отброшен.
Любые идеи?
Спасибо и приветствую, Alex
Я не хотел показывать свой код, потому что я думаю, что это неправильно, но он был запрошен:
<ui-select ng-model="formData[field.id].selected" theme="bootstrap">
<ui-select-match placeholder="{{ lists[field.id].placeholder }}">{{$select.selected.text}}</ui-select-match>
<ui-select-choices repeat="item in lists[field.id].list | filter: $select.search">
<div ng-bind-html="item.text | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
Данные сохраняются в formData[field.id].selected
. field.id
- номер текущего отображаемого поля (я динамически генерирую свою форму). Предположим, что он сохраняет уникальную ценность int.
Изменить 08.04.2015 Мое решение: Я узнал, что похоже, что нет эквивалента Cobobox С#. Поэтому я пошел вперед и использовал два отдельных поля. Это не то, что я хотел, но он работает сейчас:
<ui-select ng-model="formData[field.id].selected" theme="bootstrap">
<ui-select-match placeholder="{{ lists[field.id].placeholder }}">{{$select.selected.text}}</ui-select-match>
<ui-select-choices repeat="item in lists[field.id].list | filter: $select.search">
<div ng-bind-html="item.text | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
<?php echo __('Create a new element if value is not in list'); ?>
<div class="input-group">
<span class="input-group-addon">
<input type="checkbox" ng-model="disabled[field.id]">
</span>
<input type="text" value="" ng-disabled="!disabled[field.id]" class="form-control" ng-model="formData[field.id].newValue" />
</div>