我有一个系统,人们可以在其中添加多个日期,即屏幕截图:
在选择第一个日期时,onClose事件设置第二个输入的日期并将其打开。 IE
datePickers = function() {
$(".from_date").datepicker({
minDate: 'D',
dateFormat: "dd/mm/yy",
defaultDate: "+1w",
numberOfMonths: 2,
onClose: function(selectedDate) {
$(".to_date").datepicker("option", "minDate", selectedDate);
return $(".to_date").datepicker("show");
}
});
return $(".to_date").datepicker({
minDate: '+1D',
dateFormat: "dd/mm/yy",
defaultDate: "+1w",
numberOfMonths: 2
});
};
当我有2,3或更多并编辑第一个或第二个时,我的问题就变成了....关闭它会打开最后一个输入。
我尝试过使用.next('to_date')和最接近('to_date'),但它无效。
有关如何解决这个问题的任何建议。
按要求提供小提琴:http://jsfiddle.net/FdfPY/
答案 0 :(得分:8)
不要使用return $(".to_date").datepicker("show");
,而是执行以下操作:
$(".from_date").datepicker({
minDate: 'D',
dateFormat: "dd/mm/yy",
defaultDate: "+1w",
numberOfMonths: 2,
onClose: function(selectedDate) {
$(".to_date").datepicker("option", "minDate", selectedDate);
$(this).parent().next().children().focus();
}
});
$(".to_date").datepicker({
minDate: '+1D',
dateFormat: "dd/mm/yy",
defaultDate: "+1w",
numberOfMonths: 2
});
样本: http://jsfiddle.net/FdfPY/1/
修改强> 的
如果是嵌套的,请使用以下内容:
$(".from_date").datepicker({
minDate: 'D',
dateFormat: "dd/mm/yy",
defaultDate: "+1w",
numberOfMonths: 2,
onClose: function(selectedDate) {
$(".to_date").datepicker("option", "minDate", selectedDate);
$(this).parents('.span2').next().children().find('.to_date').focus();
}
});
$(".to_date").datepicker({
minDate: '+1D',
dateFormat: "dd/mm/yy",
defaultDate: "+1w",
numberOfMonths: 2
});