Bonjour,
Je constate une différence de comportement entre Firefox et Chrome concernant les combobox (select).
Je récupère un tableau d'éléments depuis le serveur. Je parcours ce tableau et je construis une combobox grâce aux tags <option> et </option> que j'utilise sur chaque élément du tableau. En plus de ça, si dans ce tableau je trouve un élément qui correspond à celui préalablement renseigné pour l'objet utilisant la combobox, je le mets en haut des options et en rouge. Ça donne ça :
Code :
- // tableauFruits : tableau récupéré depuis le serveur
- // idObjet : ID de l'objet utilisant la combobox
- // optionsFruits : HTML des options construit depuis le tableau
- // selectFruits : combobox recevant les options
- for (var i = 0; i < tableauFruits.length; i++) {
- if (tableauFruits[i][0] === idObjet) {
- optionsFruits += '<option class="principal">' + tableauFruits[i][1] + '</option>';
- } else {
- optionsFruits += '<option>' + tableauFruits[i][1] + '</option>';
- }
- }
- Y.one('#selectFruits').setHTML(optionsFruits); // méthode de YUI
|
Sur les deux navigateurs, la combobox est créée, valorisée avec la liste dans le bon ordre, et l'élément par défaut correspondant à idObjet est bien mis en tête de la liste et en rouge quand je déplie la combobox.
Mais sur Firefox, l'élément qui apparaît quand la combobox est refermée est le dernier de la liste (alors qu'il connait celui par défaut, je le vois dans les logs, et en plus si je déplie il est bien en rouge et en haut). De plus quand je l'ouvre, j'ai dit que la liste était dans le bon ordre avec l'élément principal en rouge, ce qui est le cas, mais par contre je suis positionné par défaut sur le dernier élément (celui qui est visible quand elle est fermée).
J'espère avoir été clair, donc si quelqu'un connaît la différence de fonctionnement entre les deux navigateurs, merci d'avance.