Eonasdan/bootstrap-datetimepicker自定义脚本配置失效求助
解决日期选择器Format和Locale配置不生效的问题
嘿,我瞅了你的代码,终于搞明白为啥你设置的format和locale没生效了,主要是两个地方踩坑了:
- Locale配置方式不对:你直接传了
locale: 'fr'这种字符串,但这个Materialize日期选择器不认这种写法,得要么手动定义语言配置对象,要么先引入对应语言的本地化脚本才行。 - 初始化方式不规范:你没有用组件官方提供的初始化方法,导致配置根本没被加载进去。
给你改好的完整代码,直接用就行:
HTML代码
<input type="text" class="datepicker">
JavaScript代码
document.addEventListener('DOMContentLoaded', function() { // 先手动定义法语的语言配置(不用额外引入脚本的方式) const frenchLocale = { cancel: 'Annuler', clear: 'Effacer', done: 'Valider', previousMonth: '«', nextMonth: '»', months: ['Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'], monthsShort: ['Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Juin', 'Juil', 'Août', 'Sep', 'Oct', 'Nov', 'Déc'], weekdays: ['Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'], weekdaysShort: ['Dim', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam'], weekdaysAbbrev: ['D', 'L', 'M', 'M', 'J', 'V', 'S'] }; // 获取页面上的日期选择器元素 const datepickerElement = document.querySelector('.datepicker'); // 用Materialize官方的初始化方法,把配置传进去 M.Datepicker.init(datepickerElement, { format: 'dd/mm/yyyy', // 生效的日期格式 locale: frenchLocale, // 生效的法语环境 autoClose: true // 可选:选完日期自动关闭,提升体验 }); });
补充说明
要是你不想手动写语言配置,可以去Materialize官方找对应语言的本地化脚本,下载后放到项目里,在Materialize主脚本之后引入,这样初始化时就能直接写locale: 'fr'了,不用手动定义对象。
这样改完,你的日期格式和语言环境应该就能正常生效啦~
内容的提问来源于stack exchange,提问作者natas
相关产品推荐
相关产品推荐

