2014-05-05 18 views
1

我搜索了四周,並嘗試了各種各樣的東西,但我找不到一種方法來讓JavaScript來提醒我選擇的選項。所有發生在我所擁有的是在頁面底部的控制檯調試部分它說「'null'不是一個對象(評估'x.options')」這暗示我的變量x沒有得到任何擺在首位值,這裏是我的代碼:JavaScript警告選擇的HTML下拉菜單

HTML

<select id=「test-dropdown」 onchange=「choice1()」> 

    <option value=「1」>One</option> 

    <option value=「2」>Two</option> 

    <option value=「3」>Three</option> 

    </select> 

的JavaScript

function choice1() 
    { 
    var x = document.getElementById(「test-dropdown」); 
    alert(x.options[x.selectedIndex].value); 
    } 

,我會很感激,如果有人能解決問題,或點我的方向在哪裏這個問題已經回答過了。

+1

複製,但 - 不是所有的瀏覽器觸發一個更改事件時,你認爲他們會....我傾向於結合兩種'change'和'click',以確保雙方都包括在內。 –

+1

編碼代碼似乎存在一些問題。你的代碼對我來說工作正常http://jsfiddle.net/praveen_jegan/7K4AK/更好地鍵入整個代碼以避免UTF編碼。 – Praveen

+1

感謝它似乎因爲它在我的mac語音標記不能正常工作,除非複製。把你的腳本,它工作得很好。 – user3603650

回答

3

我相信你想提醒所選元素的文本,可以在更短的方式這樣做太

HTML:

<select id="test-dropdown" onchange="choice1(this)"> 
    <option value="1">One</option> 
    <option value="2">Two</option> 
    <option value="3">Three</option> 
</select> 

的JavaScript:

function choice1(select) { 
    alert(select.options[select.selectedIndex].text); 
} 

小提琴:http://jsfiddle.net/AwFE3/

-1

試試下面的代碼: JSFIDDLE

$("select") 
.change(function() { 
var str = ""; 
$("select option:selected").each(function() { 
str += $(this).text() + " "; 
}); 
alert(str) 
}) 
+0

'jQuery'是一個建立在JS上的助手庫,同時OP也沒有在'jQuery'下標記它。 – Praveen