Я использую директиву select2 с угловым ui. С точки зрения функциональности он отлично работает (после некоторых вытягиваний волос), но я просто понял, что то, что я сделал, чтобы заставить его работать, теперь мешает select2 отображать выбранное значение.Невозможно отобразить выбранное значение с помощью select2
<select
ui-select2
id="entityDropDown"
ng-model="selectedUser"
ng-value="users[selectedUser].name"
ng-change="getUserInfo(users[selectedUser])">
<option></option>
<option ng-repeat="user in users" ng-value="{{$index}}" value="{{user.name}}">{{user.name}}</option>
</select>
Сначала я использовал ngOptions, но он не совместим с выбор2, так что я должен был использовать ngRepeat. Моему ngRepeat необходимо отправить выбранный пользовательский объект в функцию при изменении. Для этого мне пришлось использовать ng-значение или значение, чтобы привязать выбранный пользовательский индекс $ к элементам выбора ng-modal selectedUser
, откуда я мог искать объект у пользователей на основе индекса. BUUUT, теперь я дал свои параметры $ index, значение, возвращаемое select2, не имеет смысла, я думаю, и это просто дает мне место.
.run(['uiSelect2Config', function(uiSelect2Config) {
uiSelect2Config.placeholder = "Click here";
uiSelect2Config.dropdownAutoWidth = true;
}]);
Я пытался давая выбрать элемент своих собственных нг-значение рода делать то, что делает ngChange и просмотр выбранных пользователей имени .... но да, что ничего не вышли.
А я думаю, я понимаю, что вы делаете. Вы в основном перемещаете все вычисления внутри контроллера, чтобы он не влиял на значение select2 правильно? Имеет смысл. – Batman
Я попробовал, но по какой-то кровавой причине он все еще не появится с select2: http://jsfiddle.net/Ay7jA/ Я сделал это неправильно? – Batman
jQuery работает только в первый раз, когда я меняю пользователей, он не работает. – Batman