Обновление выбранного значения выпадающего списка с помощью jQuery в PyroCMS

Я столкнулся с небольшой проблемой при разработке модуля для PyroCMS.

Я хочу динамически обновлять раскрывающийся список с помощью jQuery. Я хотел бы установить выбранный параметр, но, похоже, он не работает, поскольку выпадающий список не является списком по умолчанию для браузера.

Я пробовал это:

$('select[name=item-type] option[value='+type+']').attr('selected', 'selected');

но пользовательский интерфейс не обновляется.


person Tristan Jahier    schedule 16.07.2012    source источник


Ответы (2)


Наконец я нашел решение.

Выпадающий пользовательский интерфейс работает на основе плагина под названием Chosen.

Редактирование элемента DOM не обновляет Выбранный раскрывающийся пользовательский интерфейс, потому что этот подключаемый модуль не отслеживает динамически прикрепленный <select>. Вам нужно явно указать Chosen, что вы только что обновили DOM, запустив событие.

До версии 2.3 PyroCMS использует Chosen 0.9, поэтому вы можете инициировать такое событие:

$('select.any-selector').trigger("liszt:updated");

Чтобы быть полным, с Chosen 1.0 событие изменилось, и вы должны использовать:

$("select.any-selector").trigger("chosen:updated");

Рекомендации:

person Tristan Jahier    schedule 23.07.2012

у меня есть решение

Требуется два изменения

использовать

$('.selector').chosen().change(function() { 
}); 

вместо

$('.selector').change(function() { 
}); 

и когда вы хотите обновить раскрывающийся список, используйте

$('.selector').trigger("liszt:updated");

а вот и получайте удовольствие!!!

person Ankit Vishwakarma    schedule 14.01.2014