Javascript jQuery datetimepicker插件范围错误

Javascript jQuery datetimepicker插件范围错误,javascript,jquery,datetimepicker,Javascript,Jquery,Datetimepicker,我正在使用以下jQuery插件:实现开始和结束日期,其中结束不能在开始之前,开始不能在结束之后。我的代码如下,基于文档中的示例(我需要时间和日期): 问题是没有设定限制。从代码中我可以看到,需要minDate和maxDate在前面有一个-+。这是一个错误还是我遗漏了什么 var format = "Y-m-d H:i:s"; var startSelector = "input[type='datetime-picker'][name='start']"; var endSelector = "

我正在使用以下jQuery插件:实现开始和结束日期,其中结束不能在开始之前,开始不能在结束之后。我的代码如下,基于文档中的示例(我需要时间和日期):

问题是没有设定限制。从代码中我可以看到,需要
minDate
maxDate
在前面有一个
-+
。这是一个错误还是我遗漏了什么

var format = "Y-m-d H:i:s";
var startSelector = "input[type='datetime-picker'][name='start']";
var endSelector = "input[type='datetime-picker'][name='end']";
$(startSelector).datetimepicker( {
    format : format,
    onShow : function(ct) {
        var val =  $(endSelector).val();
        console.log('start max val: '+val);
        var opts = {
            formatDate : "Y-m-d",
            maxDate : val ? '+'+val.split(' ')[0] : false
        };
        this.setOptions(opts);
    },
});
$(endSelector).datetimepicker( {
    format : format,
    onShow : function(ct) {
        var val =  $(startSelector).val();
        console.log('end min val: '+val);
        var opts = {
            formatDate : "Y-m-d",
            minDate : val ? '-'+
                    val.split(' ')[0] : false
        };

        this.setOptions(opts);
    },
});

您可以使用默认脚本 但是您应该知道,它非常适合Y/m/d格式

如果你想改变格式,别忘了在最小/最大日期旁边再放一次你的格式

以下是我的脚本示例,它适用于任何格式:

jQuery(function(){
 jQuery('#date_timepicker_start').datetimepicker({
  format:'d/m/Y - H:i',
  onShow:function( ct ){
   this.setOptions({
    minDate:0,
    maxDate:jQuery('#date_timepicker_end').val()?jQuery('#date_timepicker_end').val():false,formatDate:'d/m/Y - H:i'
   })
  },
  timepicker:true,
  step : 60,
  lang: 'en',
 });
 jQuery('#date_timepicker_end').datetimepicker({
  format:'d/m/Y - H:i',
  onShow:function( ct ){
   this.setOptions({
    minDate:jQuery('#date_timepicker_start').val()?jQuery('#date_timepicker_start').val():false,formatDate:'d/m/Y - H:i'
   })
  },
  timepicker:true,
  step : 60,
  lang: 'en',
 });
});

您可以使用默认脚本 但是您应该知道,它非常适合Y/m/d格式

如果你想改变格式,别忘了在最小/最大日期旁边再放一次你的格式

以下是我的脚本示例,它适用于任何格式:

jQuery(function(){
 jQuery('#date_timepicker_start').datetimepicker({
  format:'d/m/Y - H:i',
  onShow:function( ct ){
   this.setOptions({
    minDate:0,
    maxDate:jQuery('#date_timepicker_end').val()?jQuery('#date_timepicker_end').val():false,formatDate:'d/m/Y - H:i'
   })
  },
  timepicker:true,
  step : 60,
  lang: 'en',
 });
 jQuery('#date_timepicker_end').datetimepicker({
  format:'d/m/Y - H:i',
  onShow:function( ct ){
   this.setOptions({
    minDate:jQuery('#date_timepicker_start').val()?jQuery('#date_timepicker_start').val():false,formatDate:'d/m/Y - H:i'
   })
  },
  timepicker:true,
  step : 60,
  lang: 'en',
 });
});

您突出显示的那行并没有说明
minDate
maxDate
必须以
-+
开头。它用于规范化以这些字符开头的值。稍后有代码使用该值,如果此代码没有替换该值,则该值可能是原始设置。谢谢,删除
-+
修复了它。您突出显示的行没有说明
minDate
maxDate
必须以
-+
开头。它用于规范化以这些字符开头的值。后来有代码使用了该值,如果该代码没有替换它,则可能是原始设置。谢谢,删除
-+
修复了它。我发现添加
value:jQuery(“#date\u timepicker\u start”).val()很有帮助,
到#date_timepicker_end
的开头。设置选项
的值正好在
minDate
之前,以便自动填充结束日期范围。除此之外,这个解决方案工作得很好。我发现将
value:jQuery('date\u timepicker\u start').val(),
添加到#date\u timepicker\u end
this.setOptions
值之前的
minDate
,这样结束日期范围就会自动填充。除此之外,这个解决方案非常有效。