jQuery ottiene il testo specifico del tag dell'opzione

Va bene, diciamo che ho questo:

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

Come sarebbe il selettore se volessi ottenere "Opzione B" quando ho il valore '2'?

Si prega di notare che questo non è chiedere come ottenere il valore del testo selezionato, ma solo uno qualsiasi di essi, selezionato o meno, a seconda dell'attributo value. Ho provato:

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

Ma non funziona.

Se volete ottenere l'opzione con un valore di 2, usate

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

Se vuoi ottenere l'opzione attualmente selezionata, usa

$("#list option:selected").text();
Commentari (3)
Soluzione

Sta cercando un elemento con id list che ha una proprietà value uguale a 2. Quello che vuoi è il figlio option della list.

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

Provate quanto segue:

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

Il motivo per cui il tuo snippet originale non funzionava è che i tuoi tag OPTION sono figli del tuo tag SELECT, che ha il id list.

Commentari (1)