2014-02-20 322 views
1

的電流值。當我試圖讓所選optionselect標籤在當前DOM獲得一個選擇標籤

var type = $("input[name='type']").val();

我得到的返回值undefined

<select name="type" id="type" class="form-control"> 
           <option value="combine">Combiné</option> 
           <option value="histogramme">Histogramme</option> 
           <option value="courbe">Courbe</option> 
           <option value="cercle">Cercle</option> 
          </select> 

爲什麼我得到這個?

+0

什麼是您的HTML看起來像一個選擇的元素? –

回答

1

您是否嘗試過以下方法?

var type = $("select[name='type']").find(":selected").text(); 

如果你想val()工作,你需要確保你的選項標籤有自己的value屬性設置,否則你會想要做以上。


既然你更新你的帖子,你可以簡單地做:

var type = $("#type").val(); 

如果你想檢查不確定的,你需要做的:

if (type === undefined) 
    // do something 
+0

我已更新我的帖子。 – ABCmo

+0

@ user3319426 - 我已經更新了我的答案。 –

+0

最後,我已經將所有三種解決方案結合起來解決這個問題。非常感謝! – ABCmo

1

你選擇是錯誤的,元素選擇器必須是select而不是input

var type = $("select[name='type']").val(); 

你的代碼看起來與名稱類型的輸入元素,而不是像

<input name="type" type="..." /> 

代替

<select name="type"> 
    ..... 
</select> 
+0

我已更新我的帖子。 – ABCmo

+0

@ user3319426它似乎在工作http://jsfiddle.net/arunpjohny/d4P5L/1/ –

+0

@ user3319426,因爲你有一個ID var type = $(「#type」)。val();'也會做 - http://jsfiddle.net/arunpjohny/d4P5L/3/ –

0
var type = $("select[name='type']").val(); 
+0

你錯過了''' – CodeBird

+0

哎呀,有'''而不是'''。謝謝。 – squid314

+0

我已更新我的poste。 – ABCmo