jquery.ui datepicker本地化 - 在语言之间切换

时间:2012-06-01 20:45:44

标签: jquery jquery-ui localization datepicker

jQuery(document).ready(function ($) {

    $.datepicker.setDefaults($.datepicker.regional[""]);
    var lng = $(".language").text().substr(0, 2);
    $("#dtFrom").datepicker({ dateFormat: 'mm-dd-yy' },
    $.datepicker.regional[lng]
  );
    $("#dtTo").datepicker({ dateFormat: 'mm-dd-yy' },
    $.datepicker.regional[lng]
  );
});

我的问题:因为代码在上面,如果'lng'等于'fr'我的datepicker仍然是英文,如果我注释掉第一行($ .datepicker.setDefaults($ .datepicker.regional [“”]) ;)我的datepicker总是渲染法语(不管'lng'的值)。图我遗漏了一些简单的东西。任何想法如何让这个日期选择器以适当的语言(法语或英语基于'lng'的值)呈现它的内容?

1 个答案:

答案 0 :(得分:4)

这在jQuery UI Docs中得到了很好的解释。

以下是演示:

$(function() {
    $.datepicker.setDefaults( $.datepicker.regional[ "" ] );
    $( "#datepicker" ).datepicker( $.datepicker.regional[ "fr" ] );
    $( "#locale" ).change(function() {
        $( "#datepicker" ).datepicker( "option", $.datepicker.regional[ $( this ).val() ] );
    });
});

为了让你的代码模仿演示,这就是我要改变的地方:

jQuery(document).ready(function($) {
    $.datepicker.setDefaults($.datepicker.regional[""]);
    var lng = $(".language").text().substr(0, 2);
    $("#dtFrom,#tdTo").datepicker( $.datepicker.regional[lng] )
        .datepicker( "option", "dateFormat", "mm-dd-yy" );
});​