使用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 结尾的元素。