需要根据 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.jsmake.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 中的文化具有日期掩码的主要内容,如果未能解决你的问题,请参考以下文章

获取 web3 元掩码中的注册资产

如何以正确的顺序获取分段掩码中的通道?

选择位掩码中与选择器位图中的 1 位重叠的设置位范围

Javascript中的文化特定日期时间

如何使用文本掩码中的 angular2 createNumberMask 用小数格式化百分比

如何根据浏览器文化格式化 JavaScript 日期?