使用jquery的asp文本框的掩码

当我使用jquery检查复选框时,我试图用2个不同的掩码掩盖文本框。

我用html文本框和html复选框尝试了我的代码,它工作正常,但当我尝试使用asp文本框和asp复选框的代码时没有响应。

任何建议???

这是我的代码:

     $(document).ready( function() { $('#chkhtml').click( function() { if ($('#chkhtml:checked').length > 0) { $("#txthtml").mask("999-99-9999"); } else { $("#txthtml").mask("99/99/9999"); } }); }); $(document).ready( function() { $('#chkasp').click( function() { if ($('#chkasp:checked').length > 0) { $("#txtasp").mask("999-99-9999"); } else { $("#txtasp").mask("99/99/9999"); } }); });     asp: HTML    

当你的控件在另一个INamingContainer中时,他们的ID比那个长(在你的情况下至少是Content2$chkasp而不是chkasp ,可能更长),使用.ClientID来解决这个问题,如下所示:

 $(function() { $('#<%=chkasp.ClientID %>').click(function() { if ($(this).is(':checked')) { $("#<%=txtasp.ClientID %>").mask("999-99-9999"); } else { $("#<%=txtasp.ClientID %>").mask("99/99/9999"); } }); 

或者使用条件表达式缩短它:

 $('#<%=chkasp.ClientID %>').click(function() { $("#<%=txtasp.ClientID %>").mask($(this).is(':checked') ? "999-99-9999" : "99/99/9999"); });