本地化在 jQuery UI datePicker 中不起作用
Localization not working in jQuery UI datePicker
我对我正在维护的 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 代码 requires 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 脚本(包含在新应用程序中,无论如何都不会覆盖日期选择器)
- MicrosoftAjax.js
- MicrosoftMVC.js
- jquery.tablesorter.js
- jquery.tablesorter.pager.js
甚至在 ASPX 代码中都找不到 datepicker 区域的覆盖,我还没有在我正在检查的页面中更改它。
问题是
如何将语言添加到 jQuery UI 的标准 NuGet 发行版?
好的,像往常一样,我在 SO 上发布问题 12 秒后自己找到答案。
Install-Package jQuery.UI.i18n
包裹没有出现在列表顶部,我必须搜索 Tags:"jQueryUI" i18n
才能找到它
下一步是修改(对我来说,我使用网络优化)
bundles.Add(new ScriptBundle("~/bundles/jquery-ui").Include("~/Scripts/jquery-ui-{version}.js").Include("~/Scripts/jquery-ui-i18n.js"));
您可以包含此代码:
<script type="text/javascript"
src="http://jqueryui.com/ui/i18n/jquery.ui.datepicker-fr.js">
</script>
http://jqueryui.com/datepicker/#localization - Check it out this demo & you can download language file from here: https://github.com/jquery/jquery-ui/tree/master/ui/i18n
我对我正在维护的 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 代码 requires 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 脚本(包含在新应用程序中,无论如何都不会覆盖日期选择器)
- MicrosoftAjax.js
- MicrosoftMVC.js
- jquery.tablesorter.js
- jquery.tablesorter.pager.js
甚至在 ASPX 代码中都找不到 datepicker 区域的覆盖,我还没有在我正在检查的页面中更改它。
问题是
如何将语言添加到 jQuery UI 的标准 NuGet 发行版?
好的,像往常一样,我在 SO 上发布问题 12 秒后自己找到答案。
Install-Package jQuery.UI.i18n
包裹没有出现在列表顶部,我必须搜索 Tags:"jQueryUI" i18n
才能找到它
下一步是修改(对我来说,我使用网络优化)
bundles.Add(new ScriptBundle("~/bundles/jquery-ui").Include("~/Scripts/jquery-ui-{version}.js").Include("~/Scripts/jquery-ui-i18n.js"));
您可以包含此代码:
<script type="text/javascript"
src="http://jqueryui.com/ui/i18n/jquery.ui.datepicker-fr.js">
</script>
http://jqueryui.com/datepicker/#localization - Check it out this demo & you can download language file from here: https://github.com/jquery/jquery-ui/tree/master/ui/i18n