【发布时间】:2011-12-11 12:05:19
【问题描述】:
我正在寻找一种方法来在鼠标悬停时突出显示 2 个输入的日期范围之间的日期。
这个例子几乎完成了我想要实现的目标: http://hackingon.net/files/jquery_datepicker/range.htm
唯一的区别是所选范围的突出显示应该发生在两个单独的日期选择器和鼠标悬停时。
有什么建议吗?
更新:
好的,再详细一点:
从第一个日期选择器中选择一个日期后,第二个日期选择器应该突出显示之前选择的日期。如果您随后将鼠标悬停在前一个选定日期之后的一天上,则其间的所有天都应通过添加一个类来突出显示。
更新: 这是我走了多远:
$("#input-service_date_leave, #input-service_date_return").datepicker({
rangeSelect: true,
beforeShow: customRange,
onSelect: customRange,
});
function customRange(input) {
if (input.id == "input-service_date_leave") {
$("#ui-datepicker-div td").die();
if (selectedDate != null) {
$('#input-service_date_return').datepicker('option', 'minDate', selectedDate).datepicker('refresh');
}
}
if (input.id == "input-service_date_return") {
$("#ui-datepicker-div td").live({
mouseenter: function() {
$(this).prevAll("td:not(.ui-datepicker-unselectable)").addClass("highlight");
},
mouseleave: function() {
$("#ui-datepicker-div td").removeClass("highlight");
}
});
var selectedDate = $("#input-service_date_leave").datepicker("getDate");
if (selectedDate != null) {
$('#input-service_date_return').datepicker('option', 'minDate', selectedDate).datepicker('refresh');
}
}
}
http://jsfiddle.net/mayko/WbWg3/1/
唯一的问题,实时事件只是突出显示当前悬停行的 td,而不是之前行的 td。
有什么想法吗?
【问题讨论】:
标签: jquery jquery-ui datepicker highlighting date-range