【发布时间】:2015-02-11 10:43:38
【问题描述】:
我对我正在维护的 Web 应用程序的 UI 进行了多次修改。其中包括从 NuGet 获取 JS 库并将它们与比以前更新的版本对齐。
旧版本,运行 jQuery 1.8.2 和 jQuery UI 1.8.24(由 Firebug 和shown to you 自定义、缩小、重新美化)运行完美本地化的DatePicker,包括格式dd/MM/yyyy,即格式由 MVC 页面连接到文本框中的数据。
现在我已经获取了 jQuery 1.11.2 和 jQuery UI 1.11.2,假设一切都将继续按预期工作。
没有。
DatePicker 仍然初始化如下:
<script type="text/javascript">
$(function() {
$.datepicker.setDefaults($.extend({ showMonthAfterYear: false }, $.datepicker.regional['']));
$(".datePicker").datepicker($.datepicker.regional['it']);
$('.datePicker').datepicker('option', 'changeMonth', true);
$('.datePicker').datepicker('option', 'changeYear', true);
$("#locale").change(function() {
$('.datePicker').datepicker('option', $.extend({ showMonthAfterYear: false },
$.datepicker.regional[$(this).val()]));
});
});
</script>
文本框是
<input type="text" class="datePicker" id="date_begin" name="pDateBegin" value="<%=Some.Data %>" readonly="readonly"/>
<input type="text" class="datePicker" id="date_end" name="pDateEnd" value="<%=Some.Data %>" readonly="readonly"/>
简而言之,旧应用程序显示本地化良好的日历并接受dd/MM/yyyy 日期。新的重构应用程序显然不接受日期为24/02/2015 作为有效日期,将文本框留空。该版本显示英文本地化日历,而 JS 代码需要it 区域。从旧应用程序的 Firebug 控制台我可以正确看到 $.datepicker.regional['it'] 的值,而在新应用程序中它是空的。
我想追查,自己解决问题,在代码中定义 IT 区域的位置,但搜索 Chiudi(“关闭”的消息)找不到任何事物。看起来语言来自神秘。
旧应用程序包括以下文件(按 Firebug 的顺序):
- jquery.form.js
- jquery-1.8.2-min.js
- jquery-ui-1.8.24.custom.min.js(粘贴中的链接,魔字Chiudi没有结果)
- superfish.js
- 自定义应用程序的 JS 脚本(包含在新应用程序中,无论如何都不会覆盖 datepicker)
- MicrosoftAjax.js
- MicrosoftMVC.js
- jquery.tablesorter.js
- jquery.tablesorter.pager.js
在 ASPX 代码中甚至没有发现 datepicker 的区域覆盖,我在我正在检查的页面中还没有更改。
问题是
如何将语言添加到jQuery UI 的标准 NuGet 分发?
【问题讨论】:
-
jqueryui.com/datepicker/#localization - 看看这个演示,你可以从这里下载语言文件:github.com/jquery/jquery-ui/tree/master/ui/i18n
标签: jquery asp.net-mvc jquery-ui datepicker