基于用户代理的jquery datepicker国际化

时间:2013-03-20 18:58:45

标签: jquery datepicker

我遇到了jQuerydatepicker的问题。我很确定,它肯定很容易解决。但我对JavaScript和jQuery了解不多。所以我在寻求帮助! 事情是这样的: 我有一个具有data-datepickerlang属性的表单(我将其设置为用户代理语言)。

<input class="hasDatepicker" data-datepicker="True" data-datepickerlang="es" data-val="true" ...

到目前为止,我的JavaScript函数看起来像这样:

$(":input[data-datepicker]").datepicker({
    changeMonth: true,
    changeYear: true
}); 

显示日期选择器,但始终为英文格式。如何从data-datepickerlang获取“es”,并告诉datepicker格式化日期,如dd / mm / yyyy? 谢谢!

编辑:我还需要它能够以英文格式显示mm/dd/yyyy。取决于浏览器的区域设置。我从剃刀那里获得了它的价值

(@{ var x = HttpContext.Current.Request.UserLanguages[0].Substring(0, 2);}

2 个答案:

答案 0 :(得分:1)

他们是jquery datepicker中的localize选项来自jquery ui的代码示例Dochttp://jqueryui.com/datepicker/#localization

    $(function() {
var regional = $(":input[data-datepicker]");
        $( "#datepicker" ).datepicker( $.datepicker.regional[regional.attr('data-datepickerlang')]);
      });

答案 1 :(得分:0)

我终于解决了这个问题:

$(function() {


var regional = $(":input[data-datepicker]").attr("data-datepickerlang");
$.datepicker.setDefaults($.datepicker.regional[regional]);
$(":input[data-datepicker]").datepicker({

    changeMonth: true,
    changeYear: true
}, $.datepicker.regional[regional.valueOf()]);

}
)

这基本上就是darkSlayer告诉我要做的事情。但不知道为什么它不起作用。 谢谢!