2011-11-03 9 views
5

Si consideri una casella di selezione html con un ID di "MySelect".La proprietà .value di HTMLSelectElement è affidabile

E 'sicuro per ottenere il valore dell'opzione selezionata in questo modo:

document.getElementById("MySelect").value; 

piuttosto che questo:

var Sel = document.getElementById("MySelect"); 
var MyVal = Sel.option[MyVal.selectedIndex].value; 

Sembra essere sicuro, ma non ho mai visto la documentazione su di esso .

risposta

2

Non è stato ampiamente supportata con vecchi browser

Se vogliono essere sicuri è possibile utilizzare selectedIndex con la option come avete dichiarato nella sua interrogazione.

Si può essere sicuri che otterrete il valore dal basso, se siete preoccupati.

document.nform.nselect.options[document.nform.nselect .selectedIndex].value

1

Molto tempo fa, questo non era sicuro per il browser. Ma in questi giorni, non lo so.

Sta usando jQuery un'opzione? Perché questo:

$("#MySelect").val(); 

è totalmente sicuro cross-browser.

+0

Ma in questi giorni, non so, haha ​​ – david

+0

"Non è stata ampiamente supportata con vecchi browser" è di gran lunga migliore. Che ne dici adesso? ; o) – Rodolphe

+0

In realtà sto usando JQuery ma è all'interno di ogni callback e sembra molto più efficiente dire semplicemente this.value piuttosto che avvolgerlo in un oggetto Jquery completamente nuovo. –

Problemi correlati