Ответ 1
проблема заключалась в том, что Priv
class/table не имеет свойства id, а его Первичный ключ - код поля. Мне пришлось добавить функцию:
id : function(priv) {
return priv.code;
},
in $scope.privNameSelect2options
В моем HTML у меня есть эта строка:
<input ng-change="privChanged()" ng-model="selectedPriv" ui-select2="privsSelect2options"></input>
и privsSelect2options
:
$scope.privsSelect2options = {
placeholder: "Wybierz privo",
allowClear:true,
minimumInputLength: function(){return 3;},
formatInputTooShort: function (input, min) {return "Wprowadź conajmniej " + min + " znaki.";},
formatSearching: function () { return "Wyszukiwanie..."; },
formatNoMatches: function () { return "Nie znaleziono pasujących województw."; },
query: function (query) {
query.callback( {results: $filter('filter')($scope.privs,{name: query.term}) } );
},
formatResult: function(priv){
return priv.name;
},
formatSelection: function(priv){
return priv.name;
}
};
Все работает нормально, когда я помещаю 3 буквы, они фильтруют результат и показывают его правильность, но я не могу щелкнуть и выбрать любой элемент из списка результатов. Может ли кто-нибудь помочь мне в этом вопросе? Он даже не входит в функцию formatSelection
.
проблема заключалась в том, что Priv
class/table не имеет свойства id, а его Первичный ключ - код поля. Мне пришлось добавить функцию:
id : function(priv) {
return priv.code;
},
in $scope.privNameSelect2options
Обратитесь к Select2 Ajax Method Not Selecting,
и возьмите правильное значение:
id: function(data){return {id: data.id};},
или
id: function(data){return data.id}
Хотя это не указано в документации select2, вам нужно передать ключ id со значением функции для выбора2.
$scope.privsSelect2options = {
id: function(element) { return element.name; }
...
};