ASP.NET自动生成ID而不是使用我指定的ID。我如何使用jQuery选择此值?我不相信自动生成的值总是相同的。
这是我的ASPX代码:
<asp:TextBox ID="txtZip" runat="server" CausesValidation="true" CssClass="short_width" MaxLength="10" />
以下是生成的内容:
<input name="ctl00$MainContentArea$txtZip" type="text" maxlength="10" id="ctl00_MainContentArea_txtZip" class="short_width" />
以下是我要做的事情:
<script type="text/javascript">
jQuery(function ($) {
$("#txtZip").mask("99999?-9999");
});
</script>
答案 0 :(得分:4)
您可以使用类选择器:
jQuery(function ($) {
$(".short_width").mask("99999?-9999");
});
我会创建一个新类,即zipCode并将其添加到您的控件中:
<asp:TextBox ID="txtZip" runat="server" CausesValidation="true" CssClass="short_width zipCode" MaxLength="10" />
然后使用:
jQuery(function ($) {
$(".zipCode").mask("99999?-9999");
});
这样就可以让它与其他风格分开。
答案 1 :(得分:4)
如果您的javascript位于aspx
页面,则可以使用ClientId
。无论如何,你必须像其他答案那样使用一个类。
<script type="text/javascript">
jQuery(function ($) {
$("#<%=txtZip.ClientId%>").mask("99999?-9999");
});
</script>
答案 2 :(得分:0)
.Net 4.5在控件上有ClientIDMode属性,如果你将它设置为static,那么控件的ID不会从你赋给它的内容改变,它将保留为txtZip。