1

我必须将此插件用于 asp.net 文本框。

文本框是:

   <asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("Phone") %>' />                 

当文本框非空时,我希望格式为 (999) 999-9999。但是当文本框为空时它为空。

我想通过文本选择不同的掩码。代码怎么样?

我在下面试过:

谢谢。

  jQuery(function($){  
    if(document.getElementById("<%# txtBox.ClientID %>")).innerText =
       $("<%# txtBox.ClientID %>").mask("(999) 999-9999");  
    else
      $("<%# txtBox.ClientID %>").mask("");
  });

更新

文本框位于网格视图内。它喜欢:

<asp:TemplateField HeaderText="OrgContactPhone" SortExpression="OrgContactPhone">
            <EditItemTemplate>
                <asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("OrgContactPhone") %>' MaxLength="50">
                </asp:TextBox>
4

2 回答 2

1
<asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("Phone") %>' class="MaskText" />


$(document).ready(function () {
    var obj = $('.MaskText');
    if ($.trim(obj.val()).length !== 0) {
        obj.mask("(999) 999-9999");
    }
    else {
        obj.mask("");
    }
});
于 2012-06-07T13:13:40.190 回答
0

首先我可能是错的,但由于 ASP.net 的工作方式,我认为“ if(document.getElementById("<%# txtBox.ClientID %>")).innerText =”不会起作用。

其次,ASP.net 内置了屏蔽组件。

第三,你可以试试这个。

jQuery(function($){ 
    //Code function here to detect on text change for the textbox
    {
    if(document.getElementById("<%# txtBox.ClientID %>").innerText != "")
       $("<%# txtBox.ClientID %>").mask("(999) 999-9999");  
    else
      $("<%# txtBox.ClientID %>").mask("");
    }
  });
于 2012-06-07T13:01:11.243 回答