Jquery掩码在ASP.NET不工作
本文关键字:工作 NET ASP 掩码 Jquery | 更新日期: 2023-09-27 18:05:25
我想应用我从http://digitalbush.com/projects/masked-input-plugin/得到的蒙版,但蒙版只是不工作。下面是我的代码:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.maskedinput.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function ($) {
$("#cnpjDate").mask("99/99/9999", { placeholder: "dd/mm/yyyy" });
$("#date").mask("99/99/9999", { placeholder: "mm/dd/yyyy" });
$("#phone").mask("(999) 999-9999");
$("#tin").mask("99-9999999");
$("#ssn").mask("999-99-9999");
});
</script>
</asp:Content>
我的输入字段是这样的
<input id="cnpjDate" type="text" /></td>
它在table中,在View中,在multiview中在ContentTemplate中在UpdatePanel中
我在这里做错了什么?
问题是mask -input-plugin正在使用jQuery中的。on函数,这在jQuery 1.4.2中不可用,您需要更新您的jQuery版本或降级mask -input-plugin。
还要确保在dom加载后运行jQuery函数:
$( document ).ready(function() {});
这是一个工作代码
由于更新面板是通过ajax加载的,所以Jquery方法没有绑定到DOM元素。为了解决这个问题,将方法绑定到更高层的dom元素上,而不是通过ajax加载的。
试试这个脚本:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.maskedinput.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function ($) {
$('body').on('click','#cnpjDate',function(){
$(this).mask("99/99/9999", { placeholder: "dd/mm/yyyy" });
});
$('body').on('click','#date',function(){
$(this).mask("99/99/9999", { placeholder: "mm/dd/yyyy" });
});
$('body').on('click','#phone',function(){
$(this).mask("(999) 999-9999");
});
$('body').on('click','#tin',function(){
$(this).mask("99-9999999");
});
$('body').on('click','#ssn',function(){
$(this).mask("999-99-9999");
});
});
</script>