在内联datetimepicker tempusdominus中设置几个初始日期

时间:2017-11-22 13:16:40

标签: datetimepicker bootstrap-datetimepicker tempus-dominus-datetimepicker

我正在尝试设置datetimepicker https://tempusdominus.github.io/bootstrap-3/ 并将其配置为内联使用。它初始化为:

$('#datetimepicker5').datetimepicker({
    inline: true,
    allowMultidate: true,
    multidateSeparator: ';',
    locale: 'nb',
    format: 'L',
    useCurrent: false,
});

它有效,但我无法找到如何初始化几个日期。 如您所见,我将其与allowMultidate一起使用。

那么,如何在预设几个日期的情况下初始化datetimepicker?

3 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在这里找不到任何答案。因此,我尝试通过对“ tempusdominus-bootstrap-4.js”进行一些修改来解决该问题。 希望对您有所帮助,并为遇到相同问题的任何人提供参考。

首先为对象multiDate添加方法DateTimePicker

var DateTimePicker = function () {
    …
    DateTimePicker.prototype.multiDate = function multiDate(params) {
        var date = params[0];
        var index = params[1];
        this.date(date, index);
    };
    …
}

接下来,在页面上调用您的方法。
假设您的初始数据是这样的:

var values = ['2019-02-06','2019-03-06','2019-05-08','2019-07-02'];

因此,您可以在multidatepicker中初始化它们。

var initializeMultidate = function(){
    for(var i=0; i<values.length; i++){
        var date = moment(values[i], 'YYYY-MM-DD');
        $("#datetimepicker1").datetimepicker("multiDate", [date, i]);
    }
};

================================================ ==

仅此而已。

答案 1 :(得分:0)

我发现的唯一解决方案是搜索日期,然后使用JQuery单击日期,虽然不雅致,但对我有用。

var fechas = ['01/10/2020', '02/10/2020', '03/10/2020'];
for (let index = 0; index < fechas.length; index++) {
    $("[data-day='"+fechas[index]+"']").click();
}

答案 2 :(得分:0)

不幸的是,你所要求不能使用tempusdominus完成。我在同样的问题上苦苦挣扎,最后切换到 jQueryUI MultiDatesPicker,它允许更多的控制。

Destructuring assignment