我正在使用 jQuery UI Datepicker ,我想添加一些功能。
只需按住 shift 并选择某个日期并选择结束日期,然后按住 shift 以突出显示日期,因此将字符串中的日期放入<input>
,即!
var input = $('input.date');
var date_val = input.val();
var dates = date_val ? date_val.split(',') : [];
var postDateShiftHeld = false;
var DateFrom;
var DateTo;
$(document).bind('keyup keydown', function (e) {
postDateShiftHeld = e.shiftKey
}).bind('keyup', function (e) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code === 16) {
if (DateFrom && DateTo) {
console.log(DateFrom + " -> " + DateTo);
} else {
DateFrom = false;
DateTo = false;
}
}
});
function add_date(date) {
if ($.inArray(date, dates) < 0) {
dates.push(date);
}
}
function remove_date(i) {
dates.splice(i, 1);
}
function check_date(date) {
var date = date.split("/");
var date = date[1] + "/" + date[0] + "/" + date[2];
var i = $.inArray(date, dates);
if (i >= 0) remove_date(i);
else add_date(date);
}
$("#datepicker").datepicker({
onSelect: function (date) {
if (postDateShiftHeld) {
if (!DateFrom) {
DateFrom = date;
} else {
DateTo = date;
}
return false;
}
check_date(date);
},
beforeShowDay: function (date) {
for (i = 0; i < dates.length; i++) {
var post_date = dates[i].split("/");
if (date.getDate() == post_date[0] && date.getMonth() == post_date[1] - 1 && date.getFullYear() == post_date[2]) {
return [true, "ui-state-active"];
}
}
input.val(dates + "");
return [true, ''];
}
});
我现在来到这一步,得到了日期from
和to
,但我不知道如何from
在to
jQuery UI Datepicker 中突出显示日期
任何人都可以帮助我吗?我现在不知道:(
演示:http: //jsfiddle.net/SXJ99/2