如何在jquery中获取字段的id?

时间:2013-02-06 06:32:21

标签: javascript asp.net

我有一页,然后页面由一个.aspx文件和一个.ascx文件组成。

现在在.ascx文件中我已经声明了一个文本框,如下所示。

<asp:TextBox runat="server" ID="OrderName" MaxLength="50"  Key="OrderNameText" meta:resourcekey="OrderNameResource1">

现在我想从我的javascript中获取此Textbox的ID,所以我尝试了$(“#OrderName”)但它不起作用。

当我检查firebug中的代码时,我注意到此文本框的id是“ctl00_ctl00_contentPlaceHolderBody_contentPlaceHolderBelowFramedContainer_ucOrderName_OrderName”。它附加了一些词语。

那么如何在这种情况下得到id?

由于

杰森

5 个答案:

答案 0 :(得分:1)

通过ClientID访问它,或者在声明ASP.Net控件时指定ClientIDModestatic

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

答案 1 :(得分:0)

使用以下代码

 var journalTextBoxId = '<%= this.OrderName.ClientID %>';
 var journalId = $("#" + journalTextBoxId).val();

答案 2 :(得分:0)

在用户控件中,使用C#创建公共属性,如:

public string OrderNameClientID { get { return this.OrderName.ClientID; } }

在当前页面的JS中访问它:

var ID = document.getElementById('<%= this.ucOrderName.OrderNameClientID %>');

或者您可以简单地执行以下操作:

var ID = document.getElementById('<%= this.ucOrderName %>_OrderName');

答案 3 :(得分:0)

如果您想要控件的确切ID,请尝试以下操作:

var $ID = $this.find('#<%= OrderName.ClientID %>');

答案 4 :(得分:0)

如果您使用visual studio 2010,那么就像这样使用

<asp:TextBox runat="server" ID="OrderName" ClientIDMode="Static" MaxLength="50"  Key="OrderNameText" meta:resourcekey="OrderNameResource1"></asp:TextBox>

当你这样使用时,你的文本框id不会像下面那样改变

"ctl00_ctl00_contentPlaceHolderBody_contentPlaceHolderBelowFramedContainer_ucOrderName_OrderName"

所以你应该在你的文本框中使用ClientIDMode =“Static”,并在jquery中使用如下所示

$("#OrderName")

我认为这会对你有帮助。