Ich bin ein Anfänger bei JavaScript und jQuery. Ich möchte eine Combobox-A anzeigen , bei der es sich um einen HTML- Code handelt, <select>
dessen Auswahl id
und Inhalt an der anderen Stelle auf onChange () angezeigt werden.
Wie kann ich die komplette Combobox mit ihrer Auswahl übergeben id
und wie kann ich andere Parameter im Feuer des onChange-Ereignisses übergeben?
Antworten:
Im obigen Beispiel erhalten Sie den ausgewählten Wert des Kombinationsfelds für das OnChange- Ereignis.
quelle
getComboA()
istvar value = sel.value;
Ein anderer Ansatz, der in einigen Situationen nützlich sein kann, besteht darin, den Wert der ausgewählten
<option />
Funktion direkt an die folgende Funktion zu übergeben:quelle
So geht's in jQuery:
Sie sollten auch wissen, dass Javascript und jQuery nicht identisch sind. jQuery ist gültiger JavaScript-Code, aber nicht alles JavaScript ist jQuery. Sie sollten die Unterschiede nachschlagen und sicherstellen, dass Sie die entsprechende verwenden.
quelle
htmlData.push($('<select id="choose" name="choose">'));
sollte den Trick machen (Sie haben zuvor eine Zeichenfolge anstelle eines vollständigen Knotens gedrückt). > 6 Jahre vergingen ...JavaScript-Lösung
oder
oder
quelle
Ich fand die Antwort von @ Piyush hilfreich, und nur um sie zu ergänzen: Wenn Sie programmgesteuert eine Auswahl erstellen, gibt es einen wichtigen Weg, um dieses Verhalten zu erreichen, der möglicherweise nicht offensichtlich ist. Angenommen, Sie haben eine Funktion und erstellen eine neue Auswahl:
Das normale Verhalten kann zu sagen sein
Auf diese Weise können Sie das übergebene Argument jedoch nicht wirklich angeben. Stattdessen können Sie Folgendes tun:
Und Sie können den Parameter einstellen. Wenn Sie dies auf die erste Weise tun, ist das Argument, das Sie für Ihre
onchange
Funktion erhalten, browserabhängig. Der zweite Weg scheint browserübergreifend zu funktionieren.quelle
eval
String-zu-Code-Konvertierung ist nicht erforderlich. Funktioniert tatsächlichnewSelect.onchange = changeitem;
einwandfrei, wenn Sie changeitem als neu schreibenvar changeitem = function () {console.log(this.selectedIndex); };
(dhthis
anstelle eines Funktionsarguments verwenden). Oder lassen Siechangeitem
wie es ist und schreiben SienewSelect.onchange = function () {changeitem(this); };
.jQuery-Lösung
Wie erhalte ich den Textwert einer ausgewählten Option?
Ausgewählte Elemente haben normalerweise zwei Werte , auf die Sie zugreifen möchten.
Zuerst muss der Wert an den Server gesendet werden, was einfach ist:
Der zweite ist der Textwert der Auswahl.
Verwenden Sie beispielsweise das folgende Auswahlfeld:
Wenn Sie die Zeichenfolge "Mr" erhalten möchten, wenn die erste Option ausgewählt wurde (anstelle von "1"), gehen Sie folgendermaßen vor:
Siehe auch
quelle
Das wird mir geholfen.
Zur Auswahl:
Für Radio / Checkbox:
quelle
Sie können den folgenden Code ausprobieren
quelle
Wenn ich diesen Code schreibe, um nur das onChange-Ereignis von select zu erklären, können Sie diesen Code als HTML speichern und sehen, dass die Ausgabe funktioniert. Und für Sie leicht verständlich.
quelle
Nur für den Fall, dass jemand nach einer React-Lösung sucht, ohne zusätzliche Abhängigkeiten herunterladen zu müssen, können Sie Folgendes schreiben:
Stellen Sie sicher, dass Sie die Funktion defined () im Konstruktor wie folgt binden:
quelle
Das hat bei mir funktioniert onchange =
setLocation($(this).val())
Hier.
quelle