JQuery返回2个不同的ID

时间:2018-01-05 13:54:24

标签: javascript jquery asp.net

我目前正在使用JQuery来检索ASP.NET控件,但由于某些原因,jQuery似乎找到了所有与我指定的名称相似的控件。这是代码的一个例子。

HTML

<asp:TextBox ID="txtVat" runat="server"/>
<asp:TextBox ID="txtVatRate" runat="server" />

JQuery的

var vat = $("[id*='txtVat']");

vat会返回txtVattxtVatRate ASP文本框。这是正确的吗??还有另外一种解决方法,因此它可以获得正确的控制而无需使用#符号(即。var vat = $("#txtVat");)。我不能使用#的原因是因为它在ASP中使用了ContentPlaceHolderID。

2 个答案:

答案 0 :(得分:3)

您可以使用attribute equals selector代替attribute contains selector

var vat = $("[id='txtVat']");
//          ---^^-----

答案 1 :(得分:0)

将jquery与asp服务器控件一起使用的最佳做法是使用ClientID,它可以获得控件的确切ID。

var controlid = '<%=txtVat.ClientID%>'
var vat = $("[id='"+controlid+"']");

如果您不想使用ClientID,那么只需删除*就像这样

var vat = $("[id='txtVat']");

我希望它适合你。