我有Bootstrap datepicker,默认格式为 mm / dd / yyyy ,我选择了我可以更改的位置 格式从mm / dd / yyyy 到 dd / mm / yyyy 并反转。
在选择更改时,我想要我的datepicker更改格式。
我试过
find('#options-date_format').on('change', function(){
$("#picker").datepicker({format: formatDate})
});
但它不起作用,我找不到这样做的方法。 还试图删除/销毁datepicker但我得到了javascript错误。
由于
答案 0 :(得分:13)
我认为以下方法有效,
1,每当更改格式时,取消附加然后重新附加回元素。
$("#dp3").datepicker(); // initialization
$('select').on('change', function () {
var d = $('select option:selected').text();
if (d == 2) {
$("#dp3").datepicker('remove'); //detach
$("#dp3").datepicker({ //re attach
format: "dd/mm/yyyy"
})
} else {
$("#dp3").datepicker('remove'); //detach
$("#dp3").datepicker({ //re attach
format: "mm/dd/yyyy"
})
}
});
答案 1 :(得分:1)
如果您有许多日期选择器,您可以使用类选择器并重置所有日期选择器,并使用该类进行初始化。代码示例如下。
在示例中,所有输入元素都将具有类date-picker
function resetDatePickers(){
$('.date-picker').each(function(index){
$(this).datepicker('remove');
});
$('.date-picker').datepicker({
format: "dd/mm/yyyy",
startView: 2,
orientation: "top auto"
});
}
resetDatePickers();
答案 2 :(得分:0)
好的,我解决了这个扩展bootstrap-datepicker.js
setFormat: function(format) {
this.format = DPGlobal.parseFormat(format);
}
并调用该函数
find('#options-date_format').on('change', function(){
$("#picker").datepicker('setFormat', newFormat);
});