问题描述
嗨,我按照日期选择器流程来通过示例更改语言:https://jqueryui.com/datepicker/#localization
问题是事件不起作用,文件已加载。它更改格式,但仅适用于最后导入的日期选择器: 例子:
- i18n/datepicker-en.js
- i18n/datepicker-fr.js
- i18n/datepicker-zh.js
我尝试将事件绑定到按钮:
`
var changeLang = function() {
var language = $.cookie('date_format')
language ='fr'
var picker1= $('#dateStart').datepicker
$('#dateStart').datepicker( $.datepicker.regional[ language ] );
var picker2= $('#dateStart').datepicker
$('#dateEnd').datepicker( $.datepicker.regional[ language ] );
$('#dateShift').datepicker( $.datepicker.regional[ language ] );
}
<button onclick="changeLang()">Test</button>
`
我尝试在加载时绑定,document.ready 没有任何效果。有什么提示吗?
谢谢
解决方法
嗯,我没有找到解决这个问题的方法,但做了一个变通办法。
通过动态加载正确的脚本:
var language = 'fr'
var head = $('head');
var scripts = document.head.getElementsByTagName('script');
$('#src_date_format').remove();
var script = document.createElement('script');
script.id = 'src_date_format';
script.src = '/portal/static/js/i18n/ui.datepicker-'+language+'.js'
head[0].append(script);