Показать сообщение отдельно
  #12 (permalink)  
Старый 18.07.2014, 16:04
Интересующийся
Отправить личное сообщение для SpiritAbsolute Посмотреть профиль Найти все сообщения от SpiritAbsolute
 
Регистрация: 11.12.2013
Сообщений: 19

Да, точно! Плюс, нужно было добавить проверку, если <select> на странице много, то код должен срабатывать только с выбираемым.
/*
Задача - отследить изменение множества <select> на странице, стилизованных с помощью jquery ui
#tg - ID <select>, в котором нужно отследить изменения
#tg-menu - ID <ul>, который Jquery UI присваивает после формирования ul списка с значениями <select>
*/
// Отслеживаем клик по элементу(LI), который формирует Jquery UI после клика на span, которым он заменяет select
$('body').on('click', '.ui-menu-item', function() {
// Если <select> много на странице, то нужно условие, которое проверяет, что код изменений срабатывает именно с нужным <select>
if($(this).parent().prop('id')=='tg-menu') {
// Определяем позицию выбранного элемента(LI), по классу 'ui-state-focus', с помощью index()
var position=$('#tg-menu > li').index($('li.ui-state-focus'));
// Получив позицию, узнаем в какой позиции находится нужный <option> и делаем его выбранным.
$('#tg > option:eq('+position+')').prop("selected", "selected");
// Получаем значение выбранного <select>
var tg = $('#tg').val();
// Дальнейшие действия...
}
});
Ответить с цитированием