2014-02-20 328 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