2
以下代碼不打印該值。對象HTMLSelectElement通過此關鍵字訪問值
function go(x)
{
alert(x.options.selectedIndex.value);
//location=document.menu.student.options[document.menu.student.selectedIndex].value
}
這是HTML代碼
<select name="student" onChange="go(this)">
<option selected> Student </option>
<option value="http://www.cnet.com">Attendence</option>
<option value="http://www.abc.com">Exams</option>
</select>
一個簡短的方法'alert(x.value);'[在這種情況下工作](http://jsfiddle.net/bTMyr/),我在所有主流瀏覽器中都試過。會不會有這種「捷徑」是一個壞主意的情況? –
@MaryAnne:只要你在你的目標瀏覽器中試用它,它很有用。令我驚訝的是,'HTMLSelectElement#value' [**在DOM2 HTML中定義了**](http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-59351919)和似乎在IE7上工作,所以如果你已經在當前主要的瀏覽器上進行了測試,這意味着非常廣泛的支持。顯然只與單選「select」元素有關,但這些是絕大多數。如果我是你,我會將其作爲答案張貼。如果你不這樣做,我會把它添加到上面,但真的是你的答案。 –
我見過這兩種方法(通過'x.options [x.selectedIndex]'和直接''x.value'),但不太確定'x.value'在任何地方都是有效的,而且我沒有測試過東西如IE 6或Safari。它讓我確信W3C定義了'x.value'。如果您願意,請將此方法添加到您的答案中,我認爲這比在兩個地方分割信息要好。 –