1285 Stimmen

jQuery erhalten spezifische Option Tag Text

Na gut, sagen wir, ich habe das hier:

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

Wie würde der Selektor aussehen, wenn ich "Option B" erhalten möchte, wenn ich den Wert "2" habe?

Bitte beachten Sie, dass es hier nicht um die Frage geht, wie man die ausgewählt Textwert, sondern ein beliebiger davon, ob ausgewählt oder nicht, je nach Wertattribut. Ich habe es versucht:

$("#list[value='2']").text();

Aber es funktioniert nicht.

0 Stimmen

Verwenden Sie für diese Zeitspanne: $("#list option").filter(function () { return $(this).html() == "stuff"; }).val();

14voto

Dilipkumar63 Punkte 151

Sie können den ausgewählten Optionstext mit der Funktion .text();

können Sie die Funktion wie folgt aufrufen:

jQuery("select option:selected").text();

13voto

Mon Punkte 131
$("#list [value='2']").text();

Lassen Sie ein Leerzeichen nach dem id-Selektor.

9voto

eon Punkte 1718

Beim "Durchlaufen" von dynamisch erstellten Select-Elementen mit .each(function()...): $("option:selected").text(); y $(this + " option:selected").text() gab nicht den ausgewählten Optionstext zurück - stattdessen war er null.

Aber die Lösung von Peter Mortensen hat funktioniert:

$(this).find("option:selected").text();

Ich weiß nicht, warum der übliche Weg nicht erfolgreich ist, wenn .each() (wahrscheinlich mein eigener Fehler), aber danke, Peter. Ich weiß, das war nicht die ursprüngliche Frage, aber ich erwähne sie "für Neulinge, die über Google kommen".

Ich hätte angefangen mit $('#list option:selected").each() aber ich musste auch Dinge aus dem Select-Element übernehmen.

9voto

Verwendung:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }
    });
}

jQuery(document).ready(function(){
    selected_state();
});

5voto

FAA Punkte 499

Ich war auf der Suche nach immer val von internen Feldnamen anstelle von ID und kam von Google zu diesem Beitrag, die helfen, aber nicht die Lösung finden, die ich brauche, aber ich habe die Lösung und hier ist es:

Dies könnte also jemandem helfen, der nach einem ausgewählten Wert mit einem internen Feldnamen sucht, anstatt eine lange ID für SharePoint-Listen zu verwenden:

var e = $('select[title="IntenalFieldName"] option:selected').text();

0 Stimmen

Solide Lösung. Schade, dass sie hier unten an einem so geheimen Ort ist. Vielleicht sollten Sie einen prominenteren Ort finden, um diese Lösung anzubieten. Vielleicht könnten Sie eine eigene Frage stellen und beantworten?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X