Клуб API Карт

Добавление в Listbox массив ListBoxItem

k.hedsartus
8 июля 2016, 13:53

Не могу в ListBox добавить items

var ListBoxControlName = [];

// Заполняю массив объектами ListBoxItem
for(var i=0; i<u.length; i++) {
    var e = new ymaps.control.ListBoxItem({ data: { content: u[i].name}});
    ListBoxControlName.push(e);
 }

// Создаю листбокс
var myListBox = new ymaps.control.ListBox({
        data: { content: 'Выбрать маршрут' },
        items: ListBoxControlName        
});

// Добавляю на карту
myMap.controls.add(myListBox, {float: 'right'});

Помогите пожалуйста, уже миллион способов перепробовал. Листбокс остается пустым. Массив заполняется данными - это точно.

4 комментария
Подписаться на комментарии к посту
Соберите пример на jsfiddle.net
dimik,
Уже не стоит, все получилось. Правда не совсем понимаю почему ранее не получалось, массив заполнялся из ajax, но почему-то когда  items получал его, массив был пустым... если перенести создание листбокса в саму функцию ajax, то все работает. Массив объявил как нужно, он доступен везде, так что я в недоумении пока...
k.hedsartus,
Потому что AJAX – это asynchronous javascript and xml
dimik,
 А еще не подскажите?! Мне нужно чтоб itemSelectOnClick был  true, но выбирался только один элемент, а не несколько.