Définir la valeur d'un select avec jQuery.val() ne met pas à jour l'affichage
jQuery('#my_select').val('B') ne met pas à jour l'affichage du fake select qui reste à la valeur précédente. jQuery('#my_select').val() rapporte la valeur correcte ('B')
Une solution est de faire jQuery('#my_select').val('B').change() Ça fonctionne (et ça génère en même temps une erreur sous firefox "TypeError: e.handler.apply is not a function").
http://jsfiddle.net/Mk3Dn/
Merci de l'info, je vais regarder ça :)
Sur le Fiddle que tu as fournis, les 6 boutons modifient correctement la valeur. Peut-être un souci avec une ancienne version de jQuery qui ne trigger pas l'event change quand on utilise $.val() ?
Le problème n'est pas la valeur renvoyée par .val(), mais plutôt l'affichage du fake select à la première ligne. Selon la ligne de boutons que tu appuies, l'affichage du fake-select se met à jour ou pas.
Justement, j'ai bien le résultat attendu : https://www.dropbox.com/s/l37za4m6wz578gp/bug-fake-select.m4v Sous quel navigateur est-ce que ça ne fonctionne pas pour toi ?
Ah je viens de tenter avec Chromium 35, effectivement y a pas le problème. Le bug se reproduit avec firefox 28 (sous debian 7.4). (Sous Opera, jsfiddle ne fonctionne même pas "Security error: attempted to read protected variable".)