Bootstrap Datepicker重新初始化日期格式

我有默认格式mm / dd / yyyy的 Bootstrap datepicker,我选择了我可以将格式从mm / dd / yyyy更改为dd / mm / yyyy并反向。

在选择更改时,我想要我的datepicker更改格式。

我试过了

find('#options-date_format').on('change', function(){ $("#picker").datepicker({format: formatDate}) }); 

但它不起作用,我找不到这样做的方法。 还尝试删除/销毁datepicker但我得到javascript错误。

谢谢

我认为以下方法是有效的,

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" }) } }); 

的jsfiddle

当您有许多日期选择器时,您可以使用类选择器并重置所有日期选择器,并使用该类进行初始化。 代码示例如下。 在该示例中,所有输入元素都将具有类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(); 

好的,我解决了这个扩展bootstra-datepicker.js

 setFormat: function(format) { this.format = DPGlobal.parseFormat(format); } 

并调用该function

 find('#options-date_format').on('change', function(){ $("#picker").datepicker('setFormat', newFormat); });