需要根据 jquery 中的文化具有日期掩码
Posted
技术标签:
【中文标题】需要根据 jquery 中的文化具有日期掩码【英文标题】:Need to have date mask depending on the culture in jquery 【发布时间】:2012-12-19 12:14:02 【问题描述】:MVC 页面的文化取决于用户。在搜索选项(搜索可以通过 DueDate 完成)中,我需要在该 DueDate 文本框上有一个掩码。掩码必须依赖于用户的文化。在 js 和 cshtml 中都有错误提示:mask.split is not a function
。将我的 jquery.maskedinput-1.2.3.js
从 make.split
更改为 make.toString()
.split 并且错误消失了,但必须看起来像这样:[object Object]
或有一些 01
数字。任何想法? cshtml
中的代码如下所示:
<script type="text/javascript">
$(function ()
var maskFormat = @Html.CurrentDateMask();
$(".DateBox").mask(maskFormat);
);
</script>
【问题讨论】:
@Html.CurrentDateMask()
返回什么?我想你希望它作为一个字符串:var maskFormat = "@Html.CurrentDateMask();";
创建一个 Javascript 字符串。
它确实返回了一个字符串 - 是的 - 它有帮助:) 非常感谢 :) 其他问题 - 这可以完全在 js 中完成 - 不使用任何外部助手?我有一个适用于不同页面的 js,而不是更改页面 - 我想更改那个 js...
【参考方案1】:
你可以将 maskFormat 作为一个全局变量(把它放在 window 对象中),然后在你的 JS 文件中将它引用到 window.maskFormat:
cshtml文件:
(function ()
window.maskFormat = "@Html.CurrentDateMask();";
)();
在您的 Javascript 文件中:
$(function()
$(".DateBox").mask(window.maskFormat);
);
但要小心,不要添加许多全局变量或使用易于覆盖的名称
【讨论】:
以上是关于需要根据 jquery 中的文化具有日期掩码的主要内容,如果未能解决你的问题,请参考以下文章