在jquery上调用mask函数的问题?

时间:2011-05-04 03:39:34

标签: jquery asp.net

我的问题是我将如何调用jquery函数..如果有一些调整,请检查我的代码..

jquery的

jQuery(function($){
   $("txtPhone").mask("(999) 999-9999");
});

asp.net

<script src="insurance.js" type="text/javascript">   </script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>

&nbsp;<asp:TextBox ID="txtPhone" runat="server"></asp:TextBox>

4 个答案:

答案 0 :(得分:1)

jQuery(function($){
   $('<%=txtPhone.ClientID%>').mask("(999) 999-9999");
});

修改

jQuery(function($){
       $('.mask').mask("(999) 999-9999");
    });

<asp:TextBox CssClass="mask" ></asp:TextBox>

答案 1 :(得分:1)

我认为应该是这样的

$(function(){
   $('<%= txtPhone.ClientID %>').mask("(999) 999-9999");
});

答案 2 :(得分:1)

我假设你正在使用这个插件。

http://digitalbush.com/projects/masked-input-plugin/

将你的jquery更改为在“txtPhone”之前加上“#”,如下所示

jQuery(function($){
   $("#txtPhone").mask("(999) 999-9999");
});

答案 3 :(得分:1)

Govind和Edgar的答案很接近,因为他们处理ClientID。如果TextBox位于另一个容器控件中,则需要这样做。但是,如果选择器上没有#前缀,jQuery将尝试查找名称为“txtPhone”(或ClientID等效项)的所有标记。当您需要获取页面上所有div,td,label等标签时,请使用这样的选择器,而不是在您想要选择ID值为txtPhone的标签时。要将ID用作选择器,您需要在选择器前添加#。

Govind的编辑答案有效,但不适合在特定控件中添加特定遮罩。如果你有一个需要类似掩码的控件列表,它会很好用。您可以使用该类将掩码应用于需要“电话”的所有控件,而不是通过ID在单个选择器中或使用多个选择器将它们全部列出。

Schwechel的答案是最正确的,但不考虑ClientID。问题没有指定上下文来知道ClientID是否是必需的,但是为了以防万一,添加它并没有什么坏处。

使用此代码:

$(function(){
    $('#<%= txtPhone.ClientID %>').mask("(999) 999-9999");
});