Wenn Sie ein Dropdown-Menü ändern und die Seite aktualisieren, scheint Firefox das ausgewählte Attribut zu ignorieren.
<option selected="selected" value="Test">Test</option>
Tatsächlich wird die Option ausgewählt, die Sie zuvor ausgewählt haben (vor der Aktualisierung). Dies ist ein Problem für mich, da in der Dropdown-Liste ein Ereignis ausgelöst wird, das andere Dinge ändert. Gibt es eine Möglichkeit, Firefox dazu zu bringen, dieses Verhalten zu stoppen (außer ein anderes Ereignis auszulösen, wenn die Seite geladen wird)?
firefox
drop-down-menu
refresh
Schraubenschlüssel
quelle
quelle
$('option:selected').each(function(){ $(this).prop('selected',true); });
Antworten:
AFAIK, dieses Verhalten ist in Firefox fest codiert.
Sie können versuchen, jedes Formularelement
defaultValue
auf das Laden auf der Seite einzustellen.quelle
$(":input").val(this[0].defaultValue);
(ungetestet) sein; in normalen JS gehen Sie durch jedendocument.getElementsByTagname("select")
Fügen Sie
autocomplete="off"
jedem ausgewählten Tag ein HTML-Attribut hinzu. (Quelle: https://stackoverflow.com/a/8258154/260080 )Dies behebt das ODD-Verhalten in FireFox.
quelle
In Firefox ist mir aufgefallen, dass das Attribut "ausgewählt" nur funktioniert, wenn Sie die Auswahl in einem Formular platzieren, in dem das Formular ein Namensattribut hat.
quelle
Hatte gerade das gleiche Problem, glauben Sie mir, es waren mehr als 10 Stunden, die mit diesem dummen Firefox-Verhalten zu kämpfen hatten. Ich habe 7 Dropdowns, von denen jeder ein Ereignis auslöst und 24 versteckte Eingaben ausfüllt, sodass Sie sich vorstellen können, die richtige Option ausgewählt zu haben 24 falsche Eingabewerte !!! Die Lösung, die ich schließlich gefunden habe, besteht darin, das Formular mit Javascript zurückzusetzen und diese Codezeile hinzuzufügen:
PS: Die Eingaben haben die Werte aus einer Datenbank abgerufen, so dass beim Zurücksetzen des Formulars kein Wert leer wird, sondern Firefox in gewisser Weise angewiesen wird, zur ausgewählten Option = ausgewählt zurückzukehren!
quelle
Es ist nur Firefox, der sich beim Aktualisieren an Ihre vorherige Auswahl erinnert. Versuchen Sie stattdessen eine harte Aktualisierung.
Auch das gleiche Problem hier: https://stackoverflow.com/a/1505693/1069232
Siehe auch hier: https://bugzilla.mozilla.org/show_bug.cgi?id=274795
quelle
Versuchen Sie, das
autocomplete
Attribut der Auswahleingabe zu deaktivieren. Manchmal ignoriertselect
der Browser diesquelle
Ich benutze FF 25.0.1
Es ignoriert
selected=""
undselected="selected"
.Aber wenn ich es einfach versuche, ist
selected
die Option ausgewählt.Seltsames (nicht konformes) Verhalten. Ich weiß
selected
, dass HTML5 gültig ist und es die kürzeste Form ist, aber ich schreibe normalerweise Code, der auch als gut geformtes XML validiert, sodass ich jedes XML-Validierungswerkzeug verwenden kann, um meine Ergebnisse auf sehr strenge Weise zu überprüfen (und der Datenaustausch ist sehr einfach.). .)Laut W3C sollten diese Varianten für boolesche Attribute gültig sein:
Ich bevorzuge die erste, da sie fast so kurz ist wie die letzte (nicht xml-konforme) Variante, sollte aber sowohl als XHTML5 als auch als HTML5 validiert werden. Also hoffe ich, Mozilla wird es reparieren!
quelle
Verwenden Sie .prop () anstelle von .attr ()
quelle
.prop('selected', true);
oder.prop('selected', false);
(jQuery) zum Aktivieren / Deaktivieren funktioniert sowohl für Firefox als auch für Chrome.Sie können
.reset()
das Formular aufrufen , bevor Sie die Seite aktualisieren.quelle
Schließen Sie select in form attribute ein und es wird funktionieren.
und
quelle
Mit dem Namen ist besser = >>
Die Auswahl übernimmt das ausgewählte Attribut
quelle
Es ist vielleicht ein Fehler in Mozilla, aber versuchen Sie, dem Dropdown einen Namen zu geben.
quelle
Autocomplete funktionierte auch bei mir nicht.
Dies ist das in jquery geschriebene Javscript-Update, das ich verwende:
quelle
In diesem Fall funktionierte dies sowohl für Chrome als auch für Firefox.
Ich benutzte
.attr()
statt.prop()
quelle
Verwenden Sie, um das erste Element der Dropdown-Liste anzuzeigen
ProjectName.ClearSelection();
Fügen Sie Linien in Ihre Design-Seite ein, damit sie in allen Browsern funktionieren. Fügen Sie diese auch beim Laden der Seite in den Code ein.
quelle
Wenn Sie die Auswahl ändern und die Seite aktualisieren, stellt Firefox Ihre Änderungen im Formular wieder her. Aus diesem Grund haben Sie das Gefühl, dass die Auswahl nicht funktioniert. Versuchen Sie, den Link auf einer neuen Registerkarte zu öffnen, anstatt ihn zu aktualisieren.
quelle
Das ist meine Lösung:
Ich habe das einfach oben auf die Seite gesetzt (mit der entsprechenden ID), und es funktioniert für mich. Wenn ich die getElementById durch eine Schleife über alle Auswahlen auf der Seite ersetze, überlasse ich dies dem Leser als Übung;).
quelle
Für mich hat keine der oben genannten Lösungen funktioniert. Ich musste die Auswahl explizit festlegen, wenn keine festgelegt wurde:
Ich wünschte, Firefox würde dies beheben :(
quelle
Bei der Arbeit habe ich gerade einen Fehler behoben, bei dem die Auswahlfeldoption in Chrome, jedoch nicht in Firefox, auf derselben Webseite ordnungsgemäß angezeigt wurde. Es stellte sich heraus, dass es etwas völlig anderes war als die oben genannten Probleme, aber möglicherweise ein Problem, das Sie haben.
In Chrome war die Schriftfarbe des Auswahlfelds schwarz. Aus irgendeinem Grund hat das Auswahlfeld in Firefox die Schriftfarbe von dem Container geerbt, der weiß war. Nachdem ich eine CSS-Regel hinzugefügt hatte, um zu erzwingen, dass die Schriftfarbe des Auswahlfelds schwarz ist, wurde der eingestellte Wert ordnungsgemäß angezeigt.
quelle
Weder
autocomplete="off"
noch es in einform
Werk zu legen, funktioniert für mich.Was funktionierte, war, nur das Attribut zu verwenden, das ohne "Wert" wie folgt ausgewählt wurde :
also entweder rendert es
<option selected>...</option>
oder nur<option>...</option>
quelle