使用带有asp.net文本框的jquery maskedinput时遇到问题。 我有一个复选框,当我检查时会为文本框设置一个掩码,当取消选中时,它会更改掩码。问题是,在完成填充之前焦点丢失时,文本框将会清空。
我该如何解决问题?
这是我的代码:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
<script src="js/jquery-1.4.1.js" type="text/javascript"></script>
<script src="js/jquery.maskedinput-1.2.2.js" type="text/javascript"></script>
<script type="text/javascript">
function mycheck() {
if ($('#<%=chk.ClientID %>').is(':checked'))
{
$("#<%=txt.ClientID %>").unmask();
$("#<%=txt.ClientID %>").val("");
$("#<%=txt.ClientID %>").mask("999999999999");
}
else
{
$("#<%=txt.ClientID %>").unmask();
$("#<%=txt.ClientID %>").val("");
$("#<%=txt.ClientID %>").mask("(999)999-9999");
}
}
</script>
<style type="text/css">
#form1
{
margin-top: 0px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<p>
<asp:CheckBox ID="chk" runat="server" CssClass="kk"
onclick="mycheck()" />
</p>
<p>
<asp:TextBox ID="txt" runat="server" CssClass="tt" ></asp:TextBox>
</p>
</div>
</form>
</body>
</html>
答案 0 :(得分:3)
这是设计的。我的屏蔽输入插件的默认设置是在掩码未完全填满时清除输入。如果您希望您的面具允许不完整的输入,您可以插入'?'你希望可选字符开始的字符。
例如:
使用可选附加信息$(selector).mask('(999) 999-9999 ?x99999');
制作一个可选的$(selector).mask('?(999) 999-9999');
答案 1 :(得分:0)
插件本身存在问题,我报告了这一点。