Ich habe zwei HTML- select
Boxen. Ich muss eine select
Box zurücksetzen , wenn ich eine Auswahl in einer anderen treffe.
<select id="name" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
<select id="name2" >
<option value="">select all</option>
<option value="1">Text 1</option>
<option value="2">Text 2</option>
<option value="3">Text 3</option>
</select>
Wenn ich eine Option der ersten select
(dh id="name"
) auswähle , muss ich die zweite select
auf zurücksetzen select all
; Wenn ich eine Option der zweiten select
(dh id="name2"
) auswähle , muss ich die erste select
auf zurücksetzen select all
.
Wie kann ich das machen?
javascript
jquery
Anish
quelle
quelle
Antworten:
So etwas sollte den Trick machen: https://jsfiddle.net/TmJCE/898/
quelle
<button>
Element aus verwenden, stellen Sie sicher, dass Sie es nicht festlegentype="reset"
. Es hat bei mir nicht funktioniert, bis ich den Typ aufbutton
select
auf den angegebenen Wert geändert .select.prop('selectedIndex', 0)
setzt die erste Option zurück undselect.prop('selectedIndex', 1)
setzt sie auf die zweite Option.Wenn Sie das Auswahlelement nur auf seine erste Position zurücksetzen möchten, ist der einfachste Weg möglicherweise:
So setzen Sie alle ausgewählten Elemente im Dokument zurück:
BEARBEITEN: Zur Verdeutlichung gemäß einem Kommentar unten wird das Auswahlelement auf seinen ersten leeren Eintrag zurückgesetzt und nur dann, wenn ein leerer Eintrag in der Liste vorhanden ist.
quelle
value=""
kann in beliebiger Reihenfolge angezeigt werden. 2) Eine Option ohne Wertattribut<option></option>
ist nicht dasselbe wie eine Option mit einem Wertattribut für leere Zeichenfolgen<option value=""></option>
, und Sie haben klargestellt, dass wir denvalue=""
Teil benötigen. 3) Auch wenn es keine<option>
Werte mit leeren Zeichenfolgen gibt; Die Einstellung.val('')
wirkt sich auf die Änderung aus. Die Auswahl scheint leer zu sein. Stimmt das nicht? Zumindest in meinem Chrome ...Wie von @PierredeLESPINAY in den Kommentaren hervorgehoben, war meine ursprüngliche Lösung falsch - sie würde das Dropdown-Menü auf die oberste Option zurücksetzen, jedoch nur, weil der
undefined
Rückgabewert in Index 0 aufgelöst wurde.Hier ist eine korrekte Lösung, die die
selected
Eigenschaft berücksichtigt:DEMO : http://jsfiddle.net/weg82/257/
Ursprüngliche Antwort - Falsch
In jQuery 1.6+ müssen Sie die
.prop
Methode verwenden, um die Standardauswahl zu erhalten:Verwenden Sie das folgende
.change
Ereignis, damit es dynamisch zurückgesetzt wird, wenn sich das erste Dropdown ändert :quelle
$('#name2').val( $(this).prop('defaultSelected') );
$(this)
bezieht sich auf$('#name')
, nicht$('#name2')
, also neindefaultSelected
ist eine<option>
Immobilie, wird immerundefined
am<select>
Verwenden Sie diese Option, wenn Sie die Auswahl auf die Option mit dem Attribut "Ausgewählt" zurücksetzen möchten. Funktioniert ähnlich wie die in form.reset () integrierte Javascript-Funktion für die Auswahl.
quelle
Das hilft mir sehr.
quelle
Hier ist, wie ich es zum Laufen gebracht habe, wenn Sie es nur zu Ihrer ersten Option zurückbringen möchten, z. B. "Wählen Sie eine Option". "Select_id_wrap" ist offensichtlich das Div um die Auswahl, aber ich möchte dies nur klarstellen, falls dies der Fall ist Einfluss darauf, wie dies funktioniert. Meins wird auf eine Klickfunktion zurückgesetzt, aber ich bin sicher, dass es auch innerhalb einer Änderung funktioniert ...
quelle
Verwenden Sie den folgenden Code. Sehen Sie, wie es hier funktioniert http://jsfiddle.net/usmanhalalit/3HPz4/
quelle
Dies kann auch verwendet werden
quelle
Dies ist die flexibelste / wiederverwendbare Methode, um alle Auswahlfelder in Ihrem Formular zurückzusetzen.
quelle
So behandeln Sie es mit einem zufälligen Optionselement, das als Standardwert definiert ist (in diesem Fall ist Text 2 der Standardwert):
quelle
Sie können dies versuchen:
quelle
Ich hatte ein Problem mit der Eigenschaft defaultSelected in der Antwort von @Jens Roland in jQuery v1.9.1. Eine allgemeinere Methode (mit vielen abhängigen Auswahlen) besteht darin, ein Datenstandardattribut in Ihre abhängigen Auswahlen einzufügen und diese beim Zurücksetzen zu durchlaufen.
Und das Javascript ...
Unter http://jsfiddle.net/8hvqN/ finden Sie eine funktionierende Version der oben genannten Version.
quelle
Ich habe eine neue Option im Auswahl-Tag erstellt, die den Wert einer leeren Zeichenfolge ("") hat, und Folgendes verwendet:
quelle
Verwenden Sie jquery, um ein Änderungsereignis für die Auswahl zu binden, aber Sie müssen kein weiteres
$(this)
jquery-Objekt erstellen .quelle
Verwenden Sie diesen Code, um alle Auswahlfelder auf die Standardoption zurückzusetzen, in der das ausgewählte Attribut definiert ist.
quelle
Hier ist die beste Lösung, die ich benutze. Dies gilt für über 1 Slectbox
quelle
Die Einstellung von Option 1 im Auswahlelement kann von diesem Segment vorgenommen werden. Um es visuell darzustellen, müssen Sie am Ende .trigger ('change') hinzufügen.
quelle