2013-01-11 11 views
0

我正在用ASP.Net MVC4查看引擎Razor。我喜欢把面膜日期和时间TexBoxFor我安装了金块jquery.maskedinput-1.3.min.js并添加视图如何在TexBoxFor中放置遮罩日期和时间?

(document).ready(function() { 
     $("#FechaDen").mask("99/99/9999"); 
     $("#HoraDen").mask("99:99:99"); 
    }); 

但我有此错误:遗漏的类型错误:对象的翻译:没有方法'mask' 我该如何解决这个问题?

回答

1

你似乎已经forgotted引用jquery.maskedinput插件在你的页面:

<script type="text/javascript" src="@Url.Content("~/scripts/jquery.maskedinput-1.3.min.js")"></script> 

确保路径是正确的,这个插件实际上是位于此文件夹中。使用JavaScript调试工具(如FireBug)的“网络”选项卡以确保脚本引用没有404错误。

还要确保你已经经过的jQuery添加这个脚本包含。要小心,因为在ASP.NET MVC 4 Internet公司的项目模板,该~/Views/Shared/_Layout.cshtml文件在DOM年底呈现的jQuery成捆:

@Scripts.Render("~/bundles/jquery") 
    @RenderSection("scripts", required: false) 
</body> 

所以,如果你把你的观点这里面引用确保此发生在scripts段内:

@section scripts { 
    <script type="text/javascript" src="@Url.Content("~/scripts/jquery.maskedinput-1.3.min.js")"></script> 
    <script type="text/javascript"> 
     $("#FechaDen").mask("99/99/9999"); 
     $("#HoraDen").mask("99:99:99"); 
    </script> 
} 

还要注意的是,因为这个剧本现在是在DOM结束时,我已经戒掉了$(document).ready调用它不再是必要的(和你有错在你的代码已经显示,因为你忘记用$作为它的前缀)。