Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1755 connectés 

  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Comportement combobox différent entre Chrome et Firefox

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comportement combobox différent entre Chrome et Firefox

n°2261607
psychodark​squall
VégétAryen
Posté le 01-07-2015 à 17:23:08  profilanswer
 

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 :
  1. // tableauFruits : tableau récupéré depuis le serveur
  2. // idObjet : ID de l'objet utilisant la combobox
  3. // optionsFruits : HTML des options construit depuis le tableau
  4. // selectFruits : combobox recevant les options
  5. for (var i = 0; i < tableauFruits.length; i++) {
  6.     if (tableauFruits[i][0] === idObjet) {
  7.         optionsFruits += '<option class="principal">' + tableauFruits[i][1] + '</option>';
  8.     } else {
  9.         optionsFruits += '<option>' + tableauFruits[i][1] + '</option>';
  10.     }
  11. }
  12. 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.

mood
Publicité
Posté le 01-07-2015 à 17:23:08  profilanswer
 

n°2261609
gatsu35
Blablaté par Harko
Posté le 01-07-2015 à 17:47:58  profilanswer
 

rajoute un selected="selected" en plus de ta classe "principal" ça devrait faire l'affaire

n°2261613
psychodark​squall
VégétAryen
Posté le 01-07-2015 à 18:16:38  profilanswer
 

J'avais déjà essayé ça ne change rien, par contre je viens de voir sur une autre combobox (sans le système de mettre le principal en rouge et tout ça), en fait Firefox m'affiche par défaut toujours le dernier élément du select.

n°2261616
gatsu35
Blablaté par Harko
Posté le 01-07-2015 à 18:34:25  profilanswer
 

J'avais eu le même problème, j'avais du faire ça :  

Code :
  1. var option = $select[0].options[0];
  2. $select.val(option.val());
  3. $select[0].selectedIndex = 0;
  4. $select.trigger('change');


 
Enfin un truc du genre, mais c'est le selectedIndex qu'il fallait updater

n°2261617
psychodark​squall
VégétAryen
Posté le 01-07-2015 à 19:04:24  profilanswer
 

OK merci j'essaierai ça demain.

n°2261637
psychodark​squall
VégétAryen
Posté le 02-07-2015 à 10:24:16  profilanswer
 

Finalement j'ai juste eu à faire (avec YUI) :

Code :
  1. Y.one('#selectFruits').set('selectedIndex', 0);


 
Ce qui correspond en partie à ta réponse.
 
Ce qui est un peu con vu que dans le débogueur, l'index 0 était bien sélectionné (c'est même pour ça que c'est l'index 0 d'ailleurs, si je dis pas de conneries un élément passe forcément à index 0 quand il devient sélectionné). Juste pas affiché quand le select est replié.


Message édité par psychodarksquall le 02-07-2015 à 10:24:56
n°2261638
gatsu35
Blablaté par Harko
Posté le 02-07-2015 à 10:26:49  profilanswer
 

Je suis comme toi, j'ai trouvé ça con, mais je n'ai jamais compris pourquoi, mais ce fix m'a permis de corriger le problème.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Javascript/Node.js

  Comportement combobox différent entre Chrome et Firefox

 

Sujets relatifs
Créer une classe ayant le comportement d'une classe interneiframe qui ne s'affiche pas sous chrome. Des solutions ?
Flèche sur IE et FirefoxAligner une textBox ou ComboBox au reste du texte dans Word
Comment executer un code sur des combobox dès l'ouverture de word ?Augmenter la luminosité des image (par defaut ou overlay) sous Firefox
Différence de codage entre IE et Firefox ?[Perl ] Comportement étrange avec DBI
Image dans les balises option sous Chromenouveaux module Firefox pour le streaming
Plus de sujets relatifs à : Comportement combobox différent entre Chrome et Firefox


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR