简体   繁体   中英

How to re-initialize the bootstrap datetimepicker?

I have a Two datetimepicker on my page. Name as 'SartDate' and 'EndDate'.Select the date on StartDate, this date set as a minDate of 'EndDate'.First time is work Correctly.But the date of 'StartDate' reset, the minDate of 'EndDate' Not re-initiliaz

var date = null;
    $("#jobPublishDate").bind("keyup blur change mouseup", function () {
    $('#jobPublishDate').datetimepicker({ format: 'DD/MM/YYYY H:mm', showTodayButton: true, showClear: true, showClose: true });
        var from = $("#jobPublishDate").val().split("/");
        var newdate = from[1] + "/" + (from[0]) + "/" +from[2];
        var f = new Date(newdate);
        date = f;
    });

    $("#jobCloseDate").focusin(function () {
    $('#jobCloseDate').datetimepicker({ format: 'DD/MM/YYYY H:mm', showTodayButton: true, showClear: true, showClose: true, minDate: date });
           });
       });
<label>StartDate></label>
<input ng-model="job.StrPublishDate" id="jobPublishDate">
<br/>
<label>EndDate></label>
<input ng-model="job.StrCloseDate" id="jobCloseDate">

You need to hook to the dp.change event (fired when the date has been selected) an use minDate method to set the minimum date on the second picker.

var date = null;

$("#jobPublishDate").bind("keyup blur change mouseup", function () {
    $('#jobPublishDate').datetimepicker({ format: 'DD/MM/YYYY H:mm', showTodayButton: true, showClear: true, showClose: true })
    var from = $("#jobPublishDate").val().split("/");
    var newdate = from[1] + "/" + (from[0]) + "/" +from[2];
    var f = new Date(newdate);
    date = f;
});

// Adds the date change event to the first picker
$("#jobPublishDate").on('db.change', function (e) {
    // Get the DateTimePicker instance
    var dp = $('#jobCloseDate').data('DateTimePicker');
    // If the second picker has been initialized
    if(typeof dp !== 'undefined') {
        // Set the minimum date on the second picker
        dp.minDate(e.date);
    } else {
        // If the close date picker is not initialized, stores the date for later use
        date = e.date;
    }
});

$("#jobCloseDate").focusin(function () {
    $('#jobCloseDate').datetimepicker({ format: 'DD/MM/YYYY H:mm', showTodayButton: true, showClear: true, showClose: true, minDate: date });
});

You can find out more about DateTimePicker methods here .

var date = null;
$("#jobPublishDate").bind("keyup blur change mouseup", function () {
var from = $("#jobPublishDate").val().split("/");
var newdate = from[1] + "/" + (from[0]) + "/" + from[2];
var f = new Date(newdate);
date = f;
$("#jobPublishDate").on('dp.change', function (e) {
var dp = $('#jobCloseDate').data('DateTimePicker');
if (typeof dp !== 'undefined') {
dp.minDate(e.date);
} 
else {
date = e.date;
}
});

$("#jobCloseDate").focusin(function () {
$('#jobCloseDate').datetimepicker({ format: 'DD/MM/YYYY H:mm', showTodayButton: true, showClear: true, showClose: true, minDate: date });
});

Fellow this Code and Solve the Problem.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM