Добавить новую опцию для ui-select2 в угловых JS
Я использую ui-select2 в angularjs, который использует плагин select2 из jquery. У меня есть некоторый предопределенный список, и затем, когда я начинаю искать что-либо, и если это не найдено в списке, я хочу добавить новое значение. Я делаю что-то вроде этого:
var selectOptions = {
formatNoMatches: function(term) {
return "<a ng-click=\"addCountry('abc');\">Add new country</a>";
}
};
$scope.addCountry = function(countryName) {
console.log (' test');
};
Но щелчок не работает, и консоль в addCountry никогда не печатается. Любая идея, как добавить новую опцию для ui-select2 в угловой JS?
1 ответ
Я сделал это, не с помощью клика, а позволив пользователю просто ввести то, что ему нравится, в select2 и нажать Enter:
<input type="text" ui-select2="selectOpts" ng-model="selected"/>
В coffeescript, но я надеюсь, что вы поняли:
$scope.selectOpts =
maximumSelectionSize: 1
data: $scope.someListOfData
tags: true
multiple: false
createSearchChoice: (term) ->
{id: term, text: term}
Я надеюсь, что это ставит вас на правильный путь, основная вещь состоит в том, чтобы установить "теги: правда"
Помещает Select2 в режим "tagging", где пользователь может добавлять новые варианты, а ранее существующие теги предоставляются через этот атрибут параметров, который либо
и создать SearchChoice (для этого поищите в http://ivaynberg.github.io/select2/):
Создает новый выбор по запросу пользователя. Позволяет создавать варианты, недоступные через функцию запроса. Полезно, когда пользователь может создавать варианты "на лету", например, для "использования тегов"