jQuery : prüfen, ob KEINE option explizit ausgewählt, die in einer select-box

Ist es möglich, zu erkennen, wenn keine option explizit ausgewählt, die in einer select-box?

Ich habe versucht, diese Methoden, aber keiner von Ihnen funktioniert:

<select id="mySelect">
  <option value="1">First</option>
  <option value="2">Second</option>
  <option value="3">Third</option>
  <option value="4">Fourth</option>
</select>

Versuch 1:

alert($('#select option:selected').length); //returns 1

Studie 2:

alert($('#select option[selected=selected]').length); //returns 1

Studie 3:

alert($('#select option:selected').attr('selected')); //returns 'selected'

Irgendwelche Ideen, DAMIT die Menschen?

  • Du bist immer gehen, um eine option zu aktivieren, weil es standardmäßig immer wählen Sie das erste Element auf der Seite zu laden. Benötigen Sie ein <option value=""></option>, und testen, ob der Wert leer ist.
  • Ich Hänge ein <option>Keine Auswahl</option> zu der select-box zur Laufzeit. Aber es kommt nie durch": selected". Hat jQuery ':selected' nicht berücksichtigen, dynamisch hinzugefügte Optionen?
  • Sie vermuten richtig. Voranzustellen ist, indem es NACH dom-laden, so dass die ersten ausgewählten Element wird das Element, das zuerst @ die Zeit der DOM-laden.
  • Vielen Dank für die Erklärung!
  • schrieb das nur zum Spaß, daher teilen (demo sorta Testfall für deine Frage) : jsfiddle.net/g3qc9/6 mochte alle Antworten, speziell @david ' s , prost!
  • Es gibt keinen Grund, einen der Vorschläge auf dieser Seite. Das Problem mit dem jQuery .prepend () - Methode. Verwenden Sie einfach <option value="" selected=selected> None Selected</option> in Ihrem voranstellen, und es wird sich ausbreiten richtig. Alle anderen sind verrückt.
  • Ähnliche Frage hier, diese Lösung funktioniert gut für mich. stackoverflow.com/questions/4018365/...

InformationsquelleAutor craftsman | 2012-03-21
Schreibe einen Kommentar