我在jQuery UI日期选择器中使用了优秀的Trent Richardson日期时间选择器插件。
我有几行数据,每行上有两个选择器实例,一个用于流程的开始时间,一个用于流程的结束时间。当我的用户单击其中一个时,我希望根据另一个框的值重置min或max datetime元素——换句话说,根据开始时间限制结束时间,根据结束时间限制开始时间(以防止用户在结束后开始或在开始前结束)。
我这样调用日期时间选择器:
$('.c_inbox_date').datetimepicker({
hourGrid: 12,
minuteGrid: 30,
timeFormat: 'HHmm',
showTimezone: false,
})
这是我正在研究的功能,以重置最小和最大时间在飞行:
$('.c_inbox_date').click(function() {
var this_col = $(this).closest('td').parent().children().index($(this).closest('td'));
if (this_col == 3) {
var stop_time = $(this).closest('td').next('td').children('input').val();
$(this).datetimepicker({
maxDateTime: stop_time
})
} else {
var start_time = $(this).closest('td').prev('td').children('input').val();
$(this).datetimepicker({
minDateTime: new Date(start_time)
})
}
})
函数中的警告框确认start_time和stop_time变量包含正确的值。正如您所看到的,我尝试使用'new Date'来确保值实际上是一个日期对象,但这也不起作用。
谁能告诉我为什么这不起作用?datetimepicker允许这种即时更改吗?还是我的语法搞错了?如有任何帮助,一如既往,不胜感激。
两者都用
$('input')
.datepicker('option', 'maxDate', new Date())
.datetimepicker('option', 'maxDateTime', new Date());
逆向工程的乐趣…
当使用普通的日期拾取器设置日期时,我使用以下语法:
$( this ).datepicker( "option", "maxDate", new Date(your_date) );
//your_date is a string in the format: YYYY,MM,DD
我假设在你的情况下,你可以使用:
$( this ).datetimepicker( "option", "maxDateTime", new Date(your_date) );
//your_date is a string in the format: YYYY,MM,DD,HH,II