Ich habe das folgende HTML- <select>
Element:
<select id="leaveCode" name="leaveCode">
<option value="10">Annual Leave</option>
<option value="11">Medical Leave</option>
<option value="14">Long Service</option>
<option value="17">Leave Without Pay</option>
</select>
leaveCode
Wie wähle ich unter Verwendung einer JavaScript-Funktion mit der Nummer als Parameter die entsprechende Option in der Liste aus?
javascript
html
dom
Brasskazoo
quelle
quelle
Antworten:
Sie können diese Funktion verwenden:
quelle
element.dispatchEvent(new Event('change'));
Wenn Sie jQuery verwenden, können Sie dies auch tun:
Dadurch wird die
<option>
mit dem Wert 14 ausgewählt.Mit einfachem Javascript kann dies auch mit zwei
Document
Methoden erreicht werden :Mit
document.querySelector
können Sie ein Element basierend auf einem CSS-Selektor auswählen:Wenn Sie den etablierteren Ansatz mit verwenden
document.getElementById()
, können Sie, wie der Name der Funktion andeutet, ein Element anhand seinerid
folgenden Elemente auswählen :Sie können den folgenden Code ausführen, um diese Methoden und die jQuery-Funktion in Aktion zu sehen:
Code-Snippet anzeigen
quelle
quelle
Sie beantworten die Frage nicht, können aber auch nach Index auswählen, wobei i der Index des Elements ist, das Sie auswählen möchten:
Sie können die Elemente auch durchlaufen, um sie mit einer Schleife nach Anzeigewert auszuwählen:
quelle
Ich habe die verschiedenen Methoden verglichen:
Vergleich der verschiedenen Möglichkeiten zum Festlegen eines Wertes für eine Auswahl mit JS oder jQuery
Code:
Ausgabe auf einer Auswahl mit ~ 4000 Elementen:
Mit Firefox 10. Hinweis: Der einzige Grund, warum ich diesen Test durchgeführt habe, war, dass jQuery mit ~ 2000 Einträgen auf unserer Liste sehr schlecht abschnitt (sie hatten längere Texte zwischen den Optionen). Wir hatten ungefähr 2 s Verzögerung nach einem val ()
Beachten Sie auch: Ich stelle den Wert abhängig vom tatsächlichen Wert ein, nicht vom Textwert.
quelle
Das sollte die Auswahl auf "Jahresurlaub" setzen.
quelle
Ich habe die oben genannten JavaScript / jQuery-basierten Lösungen ausprobiert, z.
und
in einer AngularJS-App, in der ein erforderliches <select> -Element vorhanden war.
Keiner von ihnen funktioniert, da die AngularJS-Formularvalidierung nicht ausgelöst wird. Obwohl die richtige Option ausgewählt wurde (und im Formular angezeigt wird), blieb die Eingabe ungültig ( ng-makellose und ng-ungültige Klassen sind noch vorhanden).
Um die AngularJS-Validierung zu erzwingen, rufen Sie jQuery change () auf, nachdem Sie eine Option ausgewählt haben:
und
quelle
quelle
Der einfachste Weg, wenn Sie Folgendes benötigen:
1) Klicken Sie auf eine Schaltfläche, die die Auswahloption definiert.
2) Wechseln Sie zu einer anderen Seite, wobei die Auswahloption
3 ist.) Lassen Sie diesen Optionswert auf einer anderen Seite auswählen
1) Ihre Schaltflächen-Links (z. B. auf der Startseite)
(wobei contact.php Ihre Seite mit ausgewählten Optionen ist. Beachten Sie, dass die Seiten-URL? option = 1 oder 2 hat.)
2) Setzen Sie diesen Code auf Ihre zweite Seite (mein Fall contact.php )
3) Wählen Sie den Optionswert abhängig von der angeklickten Schaltfläche
.. und so weiter.
Dies ist also eine einfache Möglichkeit, den Wert über GET in url an eine andere Seite (mit Auswahloptionsliste) zu übergeben. Keine Formulare, keine IDs ... nur 3 Schritte und es funktioniert perfekt.
quelle
Warum nicht eine Variable für die ID des Elements hinzufügen und es zu einer wiederverwendbaren Funktion machen?
quelle
Angenommen, Ihr Formular heißt form1 :
quelle
Sollte etwas in diese Richtung sein:
quelle
quelle
Wenn Sie PHP verwenden, können Sie Folgendes ausprobieren:
quelle
Sie möchten höchstwahrscheinlich Folgendes:
ODER
quelle
using JavaScript
.Ich fürchte, ich kann das momentan nicht testen, aber in der Vergangenheit musste ich jedem Options-Tag eine ID geben, und dann habe ich etwas getan wie:
Wenn das nicht funktioniert, kommen Sie vielleicht einer Lösung näher: P.
quelle
select()
Methode (es werden keine zusätzlichen Methoden über den für alle HTML-Elemente festgelegten Standard definiert). Sie können dieselected
Eigenschaft jedoch auf true setzen.