I am facing a little problem in the development of a module for PyroCMS.
I want to update a dropdown list dynamically using jQuery.
I would like to set the selected option, but it does not seem to work since the dropdown list is not the default one of the browser.
I tried this :
$('select[name=item-type] option[value='+type+']').attr('selected', 'selected');
but the UI isn’t updated.
Finally I found the solution.
The dropdown custom UI is powered by a plugin called Chosen.
Editing the DOM element does not update the Chosen dropdown UI because this plugin does not dynamically spy on its attached
<select>. You need to tell explicitely Chosen that you have just updated the DOM by firing an event.Until version
2.3PyroCMS uses Chosen0.9, so you may trigger the event like that:To be complete, with Chosen
1.0the event has changed, and you must use:References: