Ui select 2 выбранное значение не изменяется - angularjs

im, используя ui.select2 для выпадающих списков

Сценарий: у меня есть вызов ajax, возвращающий значения возврата

document.dropDownDocStatuses = [
 { key: 0, value: 'All active (' + response.totalDocuments + ')' },
 { key: 1, value: 'Draft (' + response.draft + ')' } 
 ];

в html у меня есть

<select ui-select2="" ng-model="document.dropDownDocStatus" ng-change="document.filterDocuments()">
<option ng-repeat="documents in document.dropDownDocStatuses" value="{{documents.key}}">({{documents.value}})</option> </select>

пользователь выбрал значение

Проблема теперь, когда я обновляю любое значение выпадающего списка, используя

_document.dropDownDocStatuses[_document.dropDownDocStatus].value++;
 _document.dropDownDocStatuses[1].value++;

valuge обновляется, но он не меняет выделенный текст значения, тогда как если я нажимаю на раскрывающееся меню, я получаю измененное значение в раскрывающемся списке

может ли кто-нибудь помочь мне, как я могу исправить проблему, любая помощь будет оценена

1 ответ

Я только что столкнулся с теми же проблемами, что и ваши, и основной причиной является поле ng-model, в котором вы не должны использовать поле "options" для хранения ng-модели, попробуйте создать другое поле для ng-модели и вы сможете выбрать значение.

например

document.dropDownDocStatuses = [
 { key: 0, value: 'All active (' + response.totalDocuments + ')' },
 { key: 1, value: 'Draft (' + response.draft + ')' } 
 ];
document.selectedDocStatus = [];

и в HTML:

<select ui-select2="" ng-model="document.selectedDocStatus" ng-change="document.filterDocuments()">
<option ng-repeat="documents in document.dropDownDocStatuses" value="{{documents.key}}">({{documents.value}})</option> </select>

то вы должны иметь возможность правильно выбрать значение.

licensed under cc by-sa 3.0 with attribution.