在函数内获取值以在函数外使用

Obtaining value within the function for use outside the function

我正在使用两个日期时间选择器Bootstrap,第一个是开始日期,第二个是结束日期,问题是我应该选择开始日期,并且在结束日期自动成为最小日期(我的日期select 在开始日期)。并且在结束日期的数据时间选择器中,最大日期为 +7 天。你能帮帮我吗?

我试图在第一个名为 datatimepicker6 的数据时间选择器中获取日期,我做到了,但我不知道如何在名为 datatimepicker7 的结束日期数据时间选择器中使用。下面是代码:

//these part is to pick the date and it work
$("#datetimepicker6").on("dp.change", function(e) {
    var drr = $('#datetimepicker6').data('date')
    alert(drr);
});
      $('#datetimepicker6').datetimepicker({
        format: 'DD.MM.YYYY HH:mm:ss',

        keyBinds: {'delete': null}
      });

//I want to use that result as the minimum of this datatimepicker and to add +7 days as maximum

      $('#datetimepicker7').datetimepicker({
        format: 'DD.MM.YYYY HH:mm:ss',
        //useCurrent: false,
      //maxDate: drr,
        keyBinds: {'delete': null},


        useCurrent: false //Important! See issue #1075
      });

将此添加到您的 onchange 事件中它会起作用

            e.date.add(7, 'day'); 
            $('#datetimepicker7').data("DateTimePicker").minDate(e.date);
            $('#datetimepicker7').data("DateTimePicker").date(e.date);

onchange 的完整代码

 $("#datetimepicker6").on("dp.change", function (e) {
         //var val = $('#datetimepicker6').data('date');     
        e.date.add(7, 'day'); 
    $('#datetimepicker7').data("DateTimePicker").minDate(e.date);     
   $('#datetimepicker7').data("DateTimePicker").date(e.date);

                });                
            });

check the demo here

无需将变量携带到另一个函数中,您只需在事件中声明一个变量即可,工作Fiddle

$(function () {
                    $('#datetimepicker6').datetimepicker({
                        format: 'DD.MM.YYYY HH:mm:ss',
                        keyBinds: {'delete': null}
                    });


                  $('#datetimepicker7').datetimepicker({
                    format: 'DD.MM.YYYY HH:mm:ss',
                    useCurrent: false,
                    keyBinds: {'delete': null},
                    useCurrent: false //Important! See issue #1075
                  });

                  $("#datetimepicker6").on("dp.change", function(e) {
                        var drr = $('#datetimepicker6').data('date');
                        var endDate = new Date(e.date);
                        endDate.setDate(endDate.getDate()+7);
                        $('#datetimepicker7').data("DateTimePicker").minDate(drr);
                        $('#datetimepicker7').data("DateTimePicker").maxDate(endDate);
                });
         });