Wie lege ich den Index eines Dropdowns in jQuery fest, wenn ich das Steuerelement wie folgt finde:
$("*[id$='" + originalId + "']")
Ich mache das auf diese Weise, weil ich Steuerelemente dynamisch erstelle und da die IDs bei der Verwendung von Web Forms geändert werden. Ich habe dies als Problemumgehung gefunden, um einige Steuerelemente zu finden. Sobald ich das jQuery-Objekt habe, weiß ich nicht, wie ich den ausgewählten Index auf 0 (Null) setzen soll.
#an-id
ist schneller, aber*[id$=ends-with]
viel langsamer, das bedeutet "dem Element eine Klasse zuweisen"Ich habe es gerade gefunden, es funktioniert für mich und ich persönlich finde es leichter zu lesen.
Dadurch wird der tatsächliche Index genau wie bei der Antwortnummer 3 von Gnarf festgelegt.
Das hat früher nicht funktioniert, funktioniert aber jetzt ... siehe Fehler: http://dev.jquery.com/ticket/1474
Nachtrag
Wie in den Kommentaren empfohlen, verwenden Sie:
$("select#elem").prop('selectedIndex', 0);
quelle
.prop('selectedIndex', 0);
unabhängig davon verwenden, ob es.attr()
funktioniert oder nicht :)Ich schreibe diese Antwort im Jahr 2015 und aus irgendeinem Grund (wahrscheinlich ältere Versionen von jQuery) hat keine der anderen Antworten für mich funktioniert. Ich meine, sie ändern den ausgewählten Index, aber er spiegelt nicht das tatsächliche Dropdown wider.
Hier ist eine andere Möglichkeit, den Index zu ändern und ihn tatsächlich in der Dropdown-Liste wiederzugeben:
quelle
prop('selectedIndex', ...);
die Auswahl zu ändern (getestet mit Chrome & Firefox).change
Ereignis in der Dropdown-Liste auslösen , das auch eine nützliche Lösung für Benutzer sein kann, die die Auswahl durch Aufrufen ändernprop('selectedIndex', ...)
, anstattval(...)
. Vielleicht war das Problem, dass Sie auf einechange
Veranstaltung hören und DAS hat bei Ihnen nicht funktioniert? Es ist wahr, dass das einfache Ändern derprop
Eigenschaft keine Ereignisse auslösen wird ...Ich benutze
um das Optionselement mit dem Wert = 'xyz' auszuwählen
quelle
JQuery-Code:
Jsp Code:
quelle
Sie möchten den Wert der ersten Option im Auswahlelement abrufen.
quelle
Auswahl der 2. Option
Hier fügen wir den Trigger ('change') hinzu, um das Ereignis auszulösen.
quelle
setzt es auf 0
quelle
Wählen Sie die 4. Option
Beispiel auf jsfiddle
quelle