我正在尝试使用特伦特·理查森(Trent Richardson)的jQuery timepicker-addon,并且可能找到了一个错误,但我想我会在这里发布,看看是否有人看到我做错了什么。<<<<<<<<
我有一个开始日期/时间和结束日期/时间字段,并试图同步它们以根据选择来更新Mindate/MaxDate。当页面加载似乎导致我问题时,这两个文本字段可能已经填充了。
这是我问题的工作示例:http://jsfiddle.net/eqmsw/3/
这是内联代码:
<input id="start" type="text" size="30" value="11/14/2012 02:45 PM" /> <input id="end" type="text" size="30" value="11/28/2012 12:00 AM" />
$(function() {
var startDate = new Date(2012,10,14,14,45,0,0);
var endDate = new Date(2012,10,28,0,0,0,0);
var startDatePicker = $('#start');
var endDatePicker = $('#end');
startDatePicker.datetimepicker({
defaultDate: startDate,
maxDate: endDate,
showButtonPanel: true,
changeMonth: true,
changeYear: true,
showOtherMonths: true,
selectOtherMonths: true,
ampm: true,
stepMinute: 15,
timeFormat: 'hh:mm TT',
onSelect: function(selectedDateTime) {
var minDate = startDatePicker.datetimepicker('getDate');
endDatePicker.datetimepicker('option', 'minDate', minDate);
}
});
endDatePicker.datetimepicker({
defaultDate: endDate,
minDate: startDate,
showButtonPanel: true,
changeMonth: true,
changeYear: true,
showOtherMonths: true,
selectOtherMonths: true,
ampm: true,
stepMinute: 15,
timeFormat: 'hh:mm TT',
onSelect: function(selectedDateTime) {
var maxDate = endDatePicker.datetimepicker('getDate');
startDatePicker.datetimepicker('option', 'maxDate', maxDate);
}
});
});
如果您更改一个日期,则将删除对方的时间。不过,一旦您更改了一个日期,并在删除时间的情况下修复了另一个日期,所有其他更改都可以按预期工作。我将每个属性的"默认日期"属性设置为与其初始值相对应的日期。在现实生活中,我实际上可以解析日期字符串,但认为这会更清楚。
我还将在该项目的GitHub网站上发布此信息列表,但想将其放在大多数人面前。
事先感谢您的任何帮助!
好吧,我找到了有效的东西。我猜"默认日期"选项无法正如我期望的那样起作用。如果它在初始化后设置了DateTimePicker上的日期,则可以使用。
startDatePicker.datetimepicker('setDate', startDate);
endDatePicker.datetimepicker('setDate', endDate);