我将这个plugin用于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("");
});
更新
文本框位于gridview内。它喜欢:
<asp:TemplateField HeaderText="OrgContactPhone" SortExpression="OrgContactPhone">
<EditItemTemplate>
<asp:TextBox ID="txtBox" runat="server" Text='<%# Bind("OrgContactPhone") %>' MaxLength="50">
</asp:TextBox>
答案 0 :(得分: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("");
}
});
答案 1 :(得分:0)
首先我可能错了,但我不认为“if(document.getElementById("<%# txtBox.ClientID %>")).innerText =
”会因ASP.net如何运作而起作用。
其次,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("");
}
});