JQuery datepicker 不改变语言,只加载最后导入的语言

问题描述

嗨,我按照日期选择器流程来通过示例更改语言:https://jqueryui.com/datepicker/#localization

问题是事件不起作用,文件已加载。它更改格式,但仅适用于最后导入的日期选择器: 例子:

  1. i18n/datepicker-en.js
  2. i18n/datepicker-fr.js
  3. 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);