2011-05-19 68 views
12

我想在JQuery中获取.NET下拉列表的值,但我只能获取选定项目的ID,而不是选定的值。是否有可能做到这一点?这是我当前的代码,它获取所选项目的ID:使用jQuery从.NET下拉菜单中获取选定的值

alert($('#<%=ddlReportPeriods.ClientID %>').val()); 
+0

该代码确实获得了元素的值,而不是id。使用类似Firebug或开发者控制台来检查您的实际页面。也许你想在你的下拉列表中选择'

回答

28

尝试

alert($('#<%=ddlReportPeriods.ClientID %> option:selected').text()); 
+2

这是可以工作的语法,虽然有一个错字,它应该是:alert($('#<%= ddlReportPeriods.ClientID% > option:selected')。text()); – user517406 2011-05-19 13:36:25

+0

高兴地帮助:) – Devjosh 2011-05-19 13:41:14

+0

感谢发布! – user517406 2011-05-19 15:15:30

4

如果是同一个普通的HTML下拉框,你可以尝试

$('#<%=ddlReportPeriods.ClientID %> option:selected').val() 
+0

语法错误,无法识别的表达式:#<%= contactStateDDL.ClientID%>选项: – JSON 2016-09-15 13:31:06

0

如果您想要的是<select>元素下当前选择的<option>标签的文本内容,那么您可以这样做:

var $sel = $('#<%=ddlReportPeriods.ClientID %>'); 
alert($($sel.attr('options')[$sel.attr('selectedIndex')).text()); 

编辑 —其他的答案与建议使用“:选择”预选赛是比这更好的...

1

试试这个:

alert($('#<%=ddlReportPeriods.ClientID %> OPTION:selected').val()); 
4

您可以设置的属性ASP.NET控件在运行时不会更改ID,即

ClientIDMode = "Static" 

然后尝试,

alert($("#ddlReportPeriods option:selected").val()); 
0
<asp:DropDownList ID="ddMainMenuList" runat="server" class="form-control"> 
         </asp:DropDownList> 

$("[id*=ddMainMenuList]").val("SomeValue"); 

这是你可以指定某个值到下拉或文本框或任何其他ASP的控制方式。只是你必须提到“身份证”。

+0

问题要求获得价值的解决方案,而不是改变它。 – 2016-01-09 03:58:25

相关问题