Делаю кнопку с выпадающим списком. список содержит пункты по которым можно фильтровать:
data: {
content: 'Фильтр'
},
items: [
new ymaps.control.ListBoxItem({data: {
content: 'type1',
}}),
new ymaps.control.ListBoxItem({data: {
content: 'type2',
}}),
new ymaps.control.ListBoxItem({data: {
content: 'type3',
}})],
options: {
float: "left"
}
});
myMap.controls.add(cityList);
cityList.get(0).events.add('click', checkState);
cityList.get(1).events.add('click', checkState);
cityList.get(2).events.add('click', checkState);
фильтр делаю через проверку состояния, отмечен ли пункт, к примеру первый, аналогичный код для остальных пунктов:
{ ---------------------- какой то код ------------------ }
if (cityList.get(1).state.get('selected'))
{ ---------------------- какой то код ------------------ }
if (cityList.get(2).state.get('selected'))
{ ---------------------- какой то код ------------------ }
И ловлю событие клика:
cityList.get(1).events.add('click', checkState);
cityList.get(2).events.add('click', checkState);
У меня проблема в том, что при клике сначала выполняется моя функция, а потом уже отмечается пункт галочкой, таким образом код проверки фильтра (checkState) отрабатывает неправильно.
Отсюда вопрос, как сделать так, что бы сначала проставлялась/убиралась калочка выбора, а потом отрабатывала функция.
Заранее спасибо.