Set multiple datepickers' value based on one datepicker's selected date

这一生的挚爱 提交于 2019-12-02 01:37:43

You can use the onSelect event and call setDate method:

$("#datepicker1, #datepicker2, #datepicker3, #datepicker4").datepicker();
$("#datepicker1").datepicker("option", "onSelect", function (dateText, inst) {
    var date1 = $.datepicker.parseDate(inst.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, inst.settings);

    var date2 = new Date(date1.getTime());
    date2.setDate(date2.getDate() + 1);
    $("#datepicker2").datepicker("setDate", date2);

    var date3 = new Date(date1.getTime());
    date3.setDate(date3.getDate() + 2);
    $("#datepicker3").datepicker("setDate", date3);

    var date4 = new Date(date1.getTime());
    date4.setDate(date4.getDate() + 3);
    $("#datepicker4").datepicker("setDate", date4);
});

Demo here


The onSelect passes the date as a string so we convert it to JavaScript Date object for convenience, using the following jQuery UI datepicker utility function:

$.datepicker.parseDate( format, value[, settings] )

The expression:

inst.settings.dateFormat || $.datepicker._defaults.dateFormat

means use the dateFormat value specified on the datepicker, if there is one; otherwise use the dateFormat from datepicker defaults (which is "mm/dd/yy").

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!