Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery返回两个不同的ID_Javascript_Jquery_Asp.net - Fatal编程技术网

Javascript JQuery返回两个不同的ID

Javascript JQuery返回两个不同的ID,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我目前正在使用JQuery检索ASP.NET控件,但出于某种原因,JQuery似乎正在查找与我指定的控件名称相似的所有控件。下面是一个代码示例 HTML <asp:TextBox ID="txtVat" runat="server"/> <asp:TextBox ID="txtVatRate" runat="server" /> vat返回txtVat和txtVatRateASP文本框。是这样吗??是否有其他方法可以避免使用#符号(即,var-vat=$(“#txtVa

我目前正在使用JQuery检索ASP.NET控件,但出于某种原因,JQuery似乎正在查找与我指定的控件名称相似的所有控件。下面是一个代码示例

HTML

<asp:TextBox ID="txtVat" runat="server"/>
<asp:TextBox ID="txtVatRate" runat="server" />
vat
返回
txtVat
txtVatRate
ASP文本框。是这样吗??是否有其他方法可以避免使用#符号(即,
var-vat=$(“#txtVat”);
)获得正确的控件。我不能使用#的原因是它在ASP中使用了ContentPlaceholder ID。

您可以使用代替


将jquery与asp服务器控件一起使用的最佳实践是使用ClientID,这样可以获得控件的确切id

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

我希望它对您有用。

Remove*除了IS之外,它应该可以工作
*=
意味着
包含
-没有它,它与
一样-您能否详细说明contentplaceholder ID是如何影响ID的,因为您提供的示例将使用
为什么不使用:var vat=$(“#txtVat”);
var vat = $("[id='txtVat']");
//          ---^^-----
var controlid = '<%=txtVat.ClientID%>'
var vat = $("[id='"+controlid+"']");
var vat = $("[id='txtVat']");