簡體   English   中英

Bootstrap Datepicker 重新初始化日期格式

[英]Bootstrap Datepicker re-initialize date format

我有 Bootstrap 日期選擇器,默認格式為mm/dd/yyyy ,我選擇了在哪里可以將格式從 mm/dd/yyyy更改為dd/mm/yyyy並反轉。

在選擇更改時,我想更改日期選擇器的格式。

我試過

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

但它不起作用,我找不到這樣做的方法。 還嘗試刪除/銷毀日期選擇器,但出現 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

好的,我解決了這個擴展 bootstra-datepicker.js

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

並調用該函數

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

當您有許多日期選擇器時,您可以使用類選擇器並重置所有日期選擇器,並使用該類進行初始化。 下面的代碼示例。 在示例中,所有輸入元素都將具有類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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM