Wie subj implementieren?
wenn ich schreibe:
<form>
<select>
<option value="0">aaaa</option>
<option value="1">bbbb</option>
</select>
</form>
dann ist das standardmäßig ausgewählte Element "aaaa"
wenn ich schreibe:
<form>
<select>
<option value=""></option>
<option value="0">aaaa</option>
<option value="1">bbbb</option>
</select>
</form>
Dann ist das standardmäßig ausgewählte Element leer, aber dieses leere Element wird in der Dropdown-Liste angezeigt.
Wie kann ich ein SELECT-Tag mit einem leeren Standardwert implementieren, der in der Dropdown-Liste versteckt ist?
html
select
drop-down-menu
Nick Stavrogin
quelle
quelle
Antworten:
Verwenden Sie einfach deaktivierte und / oder versteckte Attribute:
selected
macht diese Option zur Standardoption.disabled
macht diese Option nicht anklickbar.style='display: none'
macht diese Option in älteren Browsern nicht angezeigt. Siehe: Kann ich Dokumentation für versteckte Attribute verwenden?hidden
Diese Option wird nicht in der Dropdown-Liste angezeigt.quelle
hidden
Attribut effektivdisplay: none
, um ältere Browser zu unterstützen:<option selected disabled hidden style='display: none' value=''></option>
Sie können durch Einstellung
selectedIndex
zu-1
verwenden.prop
: http://jsfiddle.net/R9auG/ .Verwenden Sie für ältere jQuery-Versionen
.attr
anstelle von.prop
: http://jsfiddle.net/R9auG/71/ .quelle
.attr
wird in neuen jQuery-Versionen fehlschlagen. Der Versuch, klug zu sein, brachte mich zum Scheitern.Einfach benutzen
funktioniert überall ohne Skript und ermöglicht es Ihnen, den Benutzer gleichzeitig zu instruieren.
quelle
quelle
Hier ist eine einfache Möglichkeit, dies mit einfachem JavaScript zu tun. Dies ist das Vanille-Äquivalent des von pimvdb veröffentlichten jQuery-Skripts. Sie können es hier testen .
.
Stellen Sie sicher, dass "id_here" im Formular und im JavaScript übereinstimmt.
quelle
Das kannst du nicht. Sie funktionieren einfach nicht so. In einem Dropdown-Menü muss immer eine seiner Optionen ausgewählt sein.
Sie können (obwohl ich es nicht empfehle) nach einem Änderungsereignis suchen und dann JS verwenden, um die erste Option zu löschen, wenn sie leer ist.
quelle
Für reines HTML hat @isherwood eine großartige Lösung. Geben Sie für jQuery Ihrer Auswahl-Dropdown-Liste eine ID und wählen Sie sie dann mit jQuery aus:
Verwenden Sie dann diese jQuery, um das Dropdown-Menü beim Laden der Seite zu löschen:
Oder setzen Sie es in eine Funktion für sich:
Erreicht das, wonach Sie suchen, und es ist einfach, dies in Funktionen zu integrieren, die möglicherweise auf Ihrer Seite aufgerufen werden, wenn Sie das Dropdown-Menü ausblenden müssen, ohne die Seite neu zu laden.
quelle
Sie können dieses Snippet ausprobieren
Es hat bei mir funktioniert.
quelle