jQuery UI DateTimePicker向当前日期添加3天,并使用dp.change方法禁用datePickerStart和datePickerEnd日期中的将来日期

问题描述 投票:0回答:1

因此,在堆栈溢出中搜索了很多之后,我在下面的代码中找不到更好的解决方案。我的实际问题是,我有datetimepicker,我想在datePickerStart中添加3天并禁用它的过去日期,也要在dp.change中,我希望在当前日期的那3天显示在下一个datetimepicker中,即[C0 ]并禁用其过去和将来的日期(添加的3天除外)。我的意思是说只在下一个选择器中显示3天。例如,如果用户选择12日期,则它将在下一个选择器中显示12至14个日期,如果用户选择21日日期,则应在下一个选择器中显示21至23个日期,依此类推。按照我编写的代码可以正常运行,但不能使用上述功能。

datePickerEnd

任何帮助将不胜感激。预先感谢。

jquery jquery-ui jquery-ui-datepicker bootstrap-datepicker jquerydatetimepicker
1个回答
0
投票

希望这会有所帮助!

$('.datePickerStart').datetimepicker({
    format: 'DD-MM-YYYY',
    minDate: new Date()
}).on('dp.change', function(e){
    var parent = $($(this).parents('.row')[0]),
        endDate = parent.find('.datePickerEnd');
    endDate.data("DateTimePicker").minDate(e.date).show();
});

$('.datePickerEnd').datetimepicker({
    format: 'DD-MM-YYYY',
    minDate: new Date(),
    useCurrent: false
}).on('dp.change', function(e){
    var parent = $($(this).parents('.row')[0]),
        startDate = parent.find('.datePickerStart');
    startDate.data("DateTimePicker").maxDate(e.date);
});

$(function() { $('.datePickerStart').datetimepicker({ minDate: new Date() }); $('.datePickerEnd').datetimepicker(); $(".datePickerStart").on("dp.change", function(e) { $('.datePickerEnd').data("DateTimePicker").minDate(e.date); var dt = new Date(e.date); dt.setDate(dt.getDate() + 2); $('.datePickerEnd').data("DateTimePicker").maxDate(dt); }); });

© www.soinside.com 2019 - 2024. All rights reserved.