使用JQuery获取Dropdown选定值
我使用以下代码使用JQuery获取我的下拉列表的选定值。
pStartMonth = $('#cboMonth1').val();
但我得到的结果是undefined
。 我错过了什么?
我的下拉列表的HTML:
-Select- January February March April May June July August September October November December
ASP.Net控件的id
属性是在服务器端生成的,因此在生成的HTML中, id
实际上就像_$ctrl0239023930
。 您需要使用的是ClientID
如下所示:
pStartMonth = $('#<%= cboMonth1.ClientID %>').val();
你的陈述似乎完全没问题。 您可能会遗漏以下一项或多项内容。
- 包括jQuery库
- 将代码放在docuemt.ready中
- 确保你
编辑基于更新的OP,因为您有asp.net下拉列表,下拉列表的ID将在生成的html中更改,因此您需要使用ClientID。 您还可以将ClientIDMode设置为static
以生成与服务器控件中相同的ID。
$(document).ready(function(){ pStartMonth = $('#<%= cboMonth1.ClientID %>').val(); alert(pStartMonth ); });
的ClientIDMode
ASP.NET为如何生成ClientID属性值提供了多种算法。 您可以通过设置其ClientIDMode属性来选择要用于控件的算法。 算法由ClientIDMode枚举值标识,这些值列在下表MSDN中 。
您可以通过设置ClientIDMode =“static”在javascript中使用服务器端id
HTML
使用Javascript
pStartMonth = $('#cboMonth1').val();
试试这个
$("#cboMonth1 option:selected").val();
如果javascript函数在.js文件中,则使用:
$('select[id$="cboMonth1"]').val();
如果它在.aspx文件中而不是使用:
$('#<%= cboMonth1.ClientID %>').val();
如果您的脚本位于未解析为ASP.Net的文件中(例如包含的JS文件),您可以像这样引用元素…
pStartMonth = $('[id$=cboMonth1]').val();
这将找到一个ID 以 cboMonth1
结尾的元素。