Si vous modifiez une liste déroulante et actualisez la page, Firefox semble ignorer l'attribut sélectionné.
<option selected="selected" value="Test">Test</option>
Il sélectionnera en fait l'option que vous aviez précédemment sélectionnée (avant l'actualisation). Cela finit par être un problème pour moi car il y a un événement déclenché sur la liste déroulante qui change d'autres choses. Existe-t-il un moyen pour que Firefox arrête ce comportement (autre que le déclenchement d'un autre événement lorsque la page se charge)?
firefox
drop-down-menu
refresh
Clé anglaise
la source
la source
$('option:selected').each(function(){ $(this).prop('selected',true); });
Réponses:
AFAIK, ce comportement est codé en dur dans Firefox.
Vous pouvez essayer de définir chaque élément de formulaire sur son
defaultValue
chargement à la page.la source
$(":input").val(this[0].defaultValue);
(non testé); en JS normal, marchez chacundocument.getElementsByTagname("select")
Ajoutez un
autocomplete="off"
attribut HTML à chaque balise de sélection. (source: https://stackoverflow.com/a/8258154/260080 )Cela corrige le comportement ODD dans FireFox.
la source
Dans Firefox, j'ai remarqué que l'attribut "selected" ne fonctionnera que si vous placez le select dans un formulaire, où le formulaire a un attribut de nom.
la source
Je viens d'avoir le même problème, croyez-moi, cela fait plus de 10 heures de lutte avec ce comportement stupide de Firefox, j'ai 7 listes déroulantes, chacune d'entre elles déclenchera un événement et remplira 24 entrées cachées, vous pouvez donc imaginer avoir la bonne option sélectionnée avec 24 mauvaises valeurs d'entrée !!! la solution que j'ai finalement trouvée est de réinitialiser le formulaire avec Javascript en ajoutant cette ligne de code:
PS: les entrées ont les valeurs extraites d'une base de données, donc la réinitialisation du formulaire ne vide aucune valeur mais indique en quelque sorte à Firefox de retourner l'enfer à l'option selected = selected!
la source
C'est juste Firefox qui se souvient de votre sélection précédente lors de l'actualisation. Essayez plutôt une actualisation complète.
Aussi, même problème ici: https://stackoverflow.com/a/1505693/1069232
Voir également ici: https://bugzilla.mozilla.org/show_bug.cgi?id=274795
la source
Essayez de désactiver l'
autocomplete
attribut de l'entrée sélectionnée ... parfois le navigateur ignore àselect
cause de celala source
J'utilise FF 25.0.1
Il ignore
selected=""
etselected="selected"
.Mais si j'essaye simplement,
selected
l'option est sélectionnée.Comportement étrange (non conforme). Je sais
selected
que le HTML5 est valide et que c'est la forme la plus courte, mais j'écris généralement du code qui valide également un XML bien formé, de sorte que je puisse utiliser n'importe quel outil de validation XML pour vérifier mes résultats de manière très stricte (et l'échange de données est très facile.) .)Selon le W3C, ces variantes doivent être valides sur les attributs booléens:
Je préfère la première, car elle est presque aussi courte que la dernière variante (non conforme au xml), mais devrait valider à la fois XHTML5 ET HTML5. J'espère donc que Mozilla le réparera!
la source
utilisez .prop () au lieu de .attr ()
la source
.prop('selected', true);
ou.prop('selected', false);
(jQuery) pour activer / désactiver fonctionne à la fois pour Firefox et Chrome.Vous pouvez appeler
.reset()
le formulaire avant d'actualiser la page.la source
entourez sélectionnez dans l'attribut de formulaire et cela fonctionnera.
et
la source
Avec le nom c'est mieux = >>
La sélection prendra l'attribut sélectionné
la source
C'est peut-être un bogue dans Mozilla mais essayez de donner un nom à la liste déroulante.
la source
la saisie semi-automatique ne fonctionnait pas non plus pour moi.
C'est le correctif javscript écrit en jquery que j'utilise:
la source
Dans ce cas, cela a fonctionné à la fois pour Chrome et Firefox.
J'utilisais
.attr()
au lieu de.prop()
la source
Pour afficher le premier élément de la liste déroulante, utilisez
ProjectName.ClearSelection();
Mettez des lignes dans votre page de conception pour fonctionner sur tous les navigateurs Et mettez également cela sur le code derrière le chargement de la page.
la source
Si vous modifiez la sélection et actualisez la page, Firefox restaurera vos modifications sur le formulaire, c'est pourquoi vous avez l'impression que la sélection ne fonctionne pas. Au lieu d'actualiser, essayez d'ouvrir le lien dans un nouvel onglet.
la source
Voici ma solution:
Je viens de le mettre en haut de la page (avec le jeu d'identifiants approprié), et cela fonctionne pour moi. En remplaçant le getElementById par une boucle sur toutes les sélections de la page, je laisse comme exercice pour le lecteur;).
la source
Pour moi, aucune des solutions ci-dessus n'a fonctionné. J'ai dû définir explicitement la sélection si aucune n'était définie:
Je souhaite que Firefox corrige ce problème :(
la source
Au travail, je viens de corriger un bug où l'option de la boîte de sélection s'affichait correctement dans Chrome mais pas dans Firefox, sur la même page Web. Il s'est avéré être quelque chose de complètement différent des problèmes ci-dessus, mais cela pourrait probablement être un problème que vous rencontrez.
Dans Chrome, la couleur de la police de la boîte de sélection était noire. Pour une raison quelconque dans Firefox, la boîte de sélection a hérité de la couleur de la police du conteneur, qui était blanche. Une fois que j'ai ajouté une règle CSS pour forcer la couleur de la police de la boîte de sélection à être noire, l'ensemble de valeurs était correctement affiché.
la source
Ni l'un
autocomplete="off"
ni l' autre, ni le placer dans un neform
fonctionne pour moi.Ce qui fonctionnait, c'était de n'utiliser que l'attribut sélectionné sans "valeur" comme ceci:
alors soit ça rend
<option selected>...</option>
, soit juste<option>...</option>
la source