我正在使用以下jQuery插件:https://github.com/xdan/datetimepicker来实现开始和结束日期,其中结束不能在开始之前,而开始不能在结束之后。根据文档中的示例(我需要时间和日期),我的代码如下:http://xdsoft.net/jqplugins/datetimepicker/#range
问题在于没有设置限制。从代码中我可以看到https://github.com/xdan/datetimepicker/blob/master/jquery.datetimepicker.js#L509要求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);
},
});
答案 0 :(得分:7)
您可以使用默认脚本http://xdsoft.net/jqplugins/datetimepicker/ 但是你应该知道它对于格式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',
});
});