我想从浏览器语言设置Jquery UI DatePicker日期格式,例如,如果"英语(英国)"在谷歌浏览器中语言和输入设置... (chrome:// settings / languages),然后日期格式为 dd / mm / yyyy ,如果& #34;英语(美国)"在列表的顶部,日期格式应为 mm / dd / yyyy 。有没有办法在Chrome,Firefox和IE浏览器语言中设置日期格式......?
答案 0 :(得分:2)
在你的情况下,我建议检查语言,如
var userLang = navigator.language || navigator.userLanguage;
// detect browser language but not a decent one
if (userLang === "en-US") {
$( ".selector" ).datepicker( "option", "dateFormat", "mm/dd/yyyy" );
} else {
$( ".selector" ).datepicker( "option", "dateFormat", "dd/mm/yyyy" );
}
<强>更新强>
我正在研究jQuery datepicker的本地化,这里有一个nice discussion和一个很好的插件。
jQuery-localization,它会检测语言并为其加载相应的区域语言
$.localise('js/jquery.ui.datepicker');
注意: 默认情况下,它会查看为浏览器设置的区域设置 根据请求指定包的本地化。对于 例如,如果区域设置是葡萄牙语/巴西(pt-BR),则会加载 js / jquery.ui.datepicker-pt.js和js / jquery.ui.datepicker-pt-BR.js。
答案 1 :(得分:1)
这就是我正在进行的当前项目中的工作方式。不确定它是否是最好的方法,因为我相信jQuery UI中有语言文件,但是...
var cfg = {
container: '.datepicker',
regional: {
nl: {
closeText: 'Sluiten',
prevText: '←',
nextText: '→',
currentText: 'Vandaag',
monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
monthNamesShort: ['jan', 'feb', 'maa', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
weekHeader: 'Wk',
dateFormat: 'dd-mm-yy',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
}
}
};
// extracted activation function
$.datepicker.regional = $.extend({}, $.datepicker.regional, cfg.regional);
$.datepicker.setDefaults($.datepicker.regional.nl);
this.datepicker.datepicker();
因此,您可以在cfg
对象中添加语言并选择自定义格式。
只剩下要做的就是将语言传递给datepicker()
,动态。也许来自URL,cookie,会话,服务器变量......,取决于您的项目如何使用语言。
希望它有所帮助。