使用jQuery获取Asp控件ID

时间:2014-02-20 10:43:36

标签: javascript jquery html asp.net client-side

我知道这个问题已被问过几次,但我无法解决这个问题。我的问题很简单,我们如何使用jQuery获取asp下拉ID。

ASP

<asp:DropDownList ID="ddlNewPortfolioName" Width="150" runat="server" AutoPostBack="True"></asp:DropDownList>

JS

alert($("[id$='<%=ddlPortfolioName.ClientID %>']").val());

这个逻辑对我来说不起作用它显示未定义的值,dropdown中是否有一些值可用,并且选择了第一个值。请帮帮我

3 个答案:

答案 0 :(得分:4)

如果您只有一个项目,只需使用ID Selector (“#id”)您就不需要使用外卡的属性选择器。由于ClientID为您提供完整且准确的元素ID。

alert($('#<%= ddlPortfolioName.ClientID %>').val());

如果您使用的是框架4或更高版本,则可以使用Control.ClientIDMode将服务器ID保持为ClientID

alert($('#ddlPortfolioName').val());

如果您在网格或转发器或listView中有下拉列表,则必须使用包含通配符和属性选择器。

 $('[id*=ddlPortfolioName]').each(function(){
       alert($(this).val());
 });

答案 1 :(得分:0)

您需要选择所选的选项,然后获取其值。使用:

$('#<%=ddlPortfolioName.ClientID %> option:selected').val()

答案 2 :(得分:0)

你可以尝试像dis

Var data=$("input[id*=ddlPortfolioName]").val();

alert(data);

alert($('#<%= ddlPortfolioName.ClientID %>').val());

或者如果它在子页面中,你可以传递服务器端ID ...例如我的服务器端ID是

alert($("#ctl00_MainContent_ddlPortfolioName").val());