我目前正在使用JQuery来检索ASP.NET控件,但由于某些原因,jQuery似乎找到了所有与我指定的名称相似的控件。这是代码的一个例子。
HTML
<asp:TextBox ID="txtVat" runat="server"/>
<asp:TextBox ID="txtVatRate" runat="server" />
JQuery的
var vat = $("[id*='txtVat']");
vat
会返回txtVat
和txtVatRate
ASP文本框。这是正确的吗??还有另外一种解决方法,因此它可以获得正确的控制而无需使用#符号(即。var vat = $("#txtVat");
)。我不能使用#的原因是因为它在ASP中使用了ContentPlaceHolderID。
答案 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']");
我希望它适合你。