jQuery krijgen specifieke optie tag tekst

Oké, zeg dat ik dit heb:

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

Hoe zou de selector eruit zien als ik "Option B" wil krijgen als ik de waarde '2' heb?

Merk op dat dit niet de vraag is hoe de geselecteerde tekstwaarde te krijgen, maar gewoon een van hen, geselecteerd of niet, afhankelijk van het waarde-attribuut. Ik heb het geprobeerd:

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

Maar het werkt niet.

Als u de optie met een waarde van 2 wilt, gebruik dan

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

Indien u de optie wilt krijgen die momenteel geselecteerd is, gebruik dan

$("#list option:selected").text();
Commentaren (3)
Oplossing

Het zoekt naar een element met id list dat een eigenschap value heeft gelijk aan 2. Wat je wilt is het option kind van de list.

$("#list option[value='2']").text()
Commentaren (5)

Probeer het volgende:

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

De reden waarom je originele snippet niet werkte is omdat je OPTION tags kinderen zijn van je SELECT tag, die de id list heeft.

Commentaren (1)