Javascript jQuery datetimepicker插件范围错误
我正在使用以下jQuery插件:实现开始和结束日期,其中结束不能在开始之前,开始不能在结束之后。我的代码如下,基于文档中的示例(我需要时间和日期): 问题是没有设定限制。从代码中我可以看到,需要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 = "
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 endthis.setOptions
值之前的minDate
,这样结束日期范围就会自动填充。除此之外,这个解决方案非常有效。