2015-04-04 87 views
2

我有這樣的HTML表單代碼:入門形式的選擇輸入的值返回「未定義」

<form> 
    <select id="sex" name="sex" onchange="alert($('#sex').val())"> 
     <option value="0">Male</option> 
     <option value="1">Female</option> 
    </select> 
</form> 

也許我使用jQuery的語法錯誤地檢索值,但當選擇改變時,一個消息框顯示消息「未定義」。我預計結果將是0或1,或者至少是「男性」或「女性」。不是「未定義」。我做錯了什麼?

https://learn.jquery.com/using-jquery-core/faq/how-do-i-get-the-text-value-of-a-selected-option/

+2

其工作[這裏](https://jsfiddle.net/02etbob9/) – 2015-04-04 10:34:20

+0

你確定你添加的jQuery lib添加到您的代碼 – semirturgay 2015-04-04 10:36:13

+0

你有沒有添加的jQuery圖書館 ? – 2015-04-04 10:36:39

回答

1

在這裏,您:

http://jsfiddle.net/jm7uo5g0/

您需要添加:您#sex選定後,在$選擇:)。

像這樣:

<form> 
    <select id="sex" name="sex" onchange="alert($('#sex :selected').val())"> 
     <option value="0">Male</option> 
     <option value="1">Female</option> 
    </select> 
</form> 

而且不要忘記添加Jquery的文件)。

+0

此解決方案適用於我。我之前嘗試過這種解決方案,但是我沒有在「#sex」和「:selected」之間添加空格。永遠不知道這是必要的。非常感謝你! – 2015-04-04 10:39:49

3

你可以試試這個也

onchange="alert(this.value)" 
+0

感謝您提供替代解決方案! :) – 2015-04-04 10:48:20

4

大多數情況下,您正在頁面末尾加載jQuery庫。要麼在表單聲明之前包括源,要麼按照其他答案中的建議使用this.value

+0

原來我只需要在id後添加「:selected」。之前,我已經嘗試使用「#sex:selected」,但在「#sex」之後沒有添加額外空間之前它不起作用。 – 2015-04-04 10:41:57

0

如果你在最後使用jQuery庫。他們的功能不會被訪問。如果你看到這樣的錯誤,那麼庫存在錯誤的地方。

最好的提示:使用/包括jQuery庫在<head>