我使用jQuery UI Datepicker,並且我想添加一些函數。jQuery UI Datepicker控制轉換爲高亮日期
只要按住shift鍵並選擇一些日期並選擇結束日期,所以按住shift鍵移動到hightlight日期,所以把日期字符串設置爲<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
hightlight日期to
在jQuery UI的日期選擇器
任何人都可以幫我嗎?我現在已經不知道:(
演示:http://jsfiddle.net/SXJ99/2
看非常好,給我一點分嘗試:d感謝這麼多 – l2aelba
好了,看起來這僅僅只從點擊到,我會試着做,按住shift:D非常感謝 – l2aelba
好吧,祝你好運這個劇本;) – yeyene