Suchen Sie den Namen der ausgewählten Option mit jQuery
Habe ich eine jquery - /ajax-Funktion, die updates #Kurse, senden #fos .val() und .text(), speziell von dem ausgewählten, etwa so:
$('#selling #fos').change(function() {
$.post('/ajax/courses',
{
fos_id: $('#selling #fos').val(),
name: $('#selling #fos :selected').text()
},
function(data) {
$('#selling #courses').html(data);
});
});
Wie verlängere ich diese Funktion so, dass er 'dieses', erlaubt mir, wiederverwenden, diese Funktion mehrmals auf der gleichen Seite? Ich bin gefangen, weil Sie nicht verwenden können name: $(this + ' :selected').text()
.
InformationsquelleAutor der Frage bafromca | 2010-09-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollte dies funktionieren:
es ist nicht schön aber es funktioniert der trick 🙂
oder das funktionieren wird:
InformationsquelleAutor der Antwort Stefanvds
Ich denke was du suchst ist .filter()
Wird es wieder leerer string, wenn es nicht ausgewählt ist
Glück!
Bearbeiten:
Ich habe nicht gesehen, dass Brett hatte ein Leerzeichen vor dem ":selected" das bedeutet, er ist auf der Suche nach einem Kind. Stefanvds Vorschlag, find() funktioniert Prima.
filter() überprüft, ob der aktuelle dom ist ":selected", während suchen() suchen die Kinder auf allen Ebenen. Sie können auch .Kinder() wenn Sie wissen, dass die ausgewählten dom-Sie suchen ein direktes untergeordnetes Element von "dieser" es ist viel effizienter, da Sie nur auf der Suche nach einer Ebene der Kinder.
InformationsquelleAutor der Antwort Mouhannad
Können Sie auch mithilfe von jQuery zweite argument (Kontext) zu vermeiden, unnötige "filter", "finden", "Kinder" etc. Damit können Sie Ihre Wähler so etwas wie:
InformationsquelleAutor der Antwort Robert Waddell