Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Кастомизация зависимых списков select (https://javascript.ru/forum/dom-window/55750-kastomizaciya-zavisimykh-spiskov-select.html)

olgastaf 12.05.2015 21:30

Кастомизация зависимых списков select
 
На странице есть зависимые списки, реализованные через select + ajax + php. То есть в зависимости от выбора элемента в первом списке, во второй подгружается определенное содержимое.
При этом списки кастомизированы с помощью плагина jquery.core-ui-select
И все работает, все классно, кроме одного маленького нюанса.
Плагин загружается с загрузкой страницы, списки красивые. Но после выбора в первом списке, второй перегружается по аяксу, и красивый дизайн сбрасывается, а поскольку страница не перегружается, то плагин и не подключается снова, и список получается уродливым.

По идее нужно прописать у первого селекта
onchange="loadHTML('/ajax.php?id='+this.options[this.selectedIndex].value,'label');$('select').coreUISelect('update');"

, чтобы плагин снова подгружался после аякс-перезагрузки.
Но это почему-то не работает. Подскажите, что здесь сделано не так?
Пример здесь: zaphub.ru (фильтр по моделям авто).

рони 12.05.2015 21:52

olgastaf,
в loadHTML должно стоять обновление $('select').coreUISelect('update'); а не в ином месте

olgastaf 13.05.2015 08:56

А можете написать, синтаксис строки как должен выглядеть?
Пробую и так, и этак, пока нужного результата не получаю

olgastaf 13.05.2015 10:08

Цитата:

Сообщение от рони (Сообщение 370456)
olgastaf,
в loadHTML должно стоять обновление $('select').coreUISelect('update'); а не в ином месте

- в смысле -внутри файла, который loadHTML загружает?
Или где?

рони 13.05.2015 11:52

olgastaf,
function processStateChange(){
  if (request.readyState == 4){
    contentDiv = document.getElementById(dest);
    if (request.status == 200){
response = request.responseText;
contentDiv.innerHTML = response;
*!*
$('select').coreUISelect('update');
*/!*
    } else {
contentDiv.innerHTML = "Error: Status "+request.status;
    }
  }
}

olgastaf 13.05.2015 14:01

Ура! Заработало!
Как я Вам благодарна!
Поставила плюсик в карму.

kostyanet 13.05.2015 23:12

Цитата:

Сообщение от olgastaf
и список получается уродливым.

Жалобы к писателям браузеров. Так и отвечайте заказчику.


Часовой пояс GMT +3, время: 03:52.