Клуб API Карт

Выбор элемента из ListBox

Пост в архиве.

Доброе время суток. Появилась потребность добавить на карту элемент управления ListBox.

 

Элемент успешно был добавлен:

 

    var btnFilterPoint = new ymaps.control.ListBox({

        data : {

            title : 'Список'

        },

        items : [

            new ymaps.control.ListBoxItem({data :{content : 'Итем 1'}}),

            new ymaps.control.ListBoxItem({data :{content : 'Итем 2'}}),

            new ymaps.control.ListBoxItem({data :{content : 'Итем 2'}})

        ]

    });

 

    map.controls.add(btnFilterPoint, {right:85, top:35});


Контрол появился, кликаю по нему выпадает список. Все как и в контроле "ТипКарты". Но когда я пытаюсь выбрать из выпадающего списка элемент, то ничего не происходит. Т.е. я ожидал поведения такого же как у контрола смены типа карты, когда выбирает элемент он пишется в Caption, а в списке отмечен галкой.

 

Подскажите как добится такого? Спасибо.

2 комментария

Все правильно - элементы листбокс не выделяются сами.

Нужно отловить клик, что-то сделать и кинуть someitem.select()

Скоро выйдет обновление АПИ где будет... тоже самое.

Но(!) можно будет указать опцию элементу selectOnClick(по дефолту выключена) и будет типа как вы хотите.

Но тогда прийдется слушать select\deselect и производить какие либо действия.

А без подвешенных реакций.. зачем такой элемент в листбоксе?

Благодарю за ответ. Конечно же без обработки событий не нужен. Просто из документации по ListBox и ListBoxItem мне было совершенно не очевидно что делать после обработки click, так как у ListBoxItem не указан метод select(). :-)