我想把日期选择器中的日子变成链接。我怎样才能做到这一点?我知道它有onSelect
,但是当用户将鼠标悬停在天上时,这并没有给用户提供视觉线索。
我尝试了以下方法,但它似乎确实执行了回调函数。使用 jQuery UI v1.9.2 和 jQuery v1.8.1。
$(document).ready(function () {
$("#datepicker").datepicker({
renderCallback: function ($td, thisDate, month, year) {
alert('hi');
}
});
});
更新
即使变通办法也很容易实现,我决定采用 Kevin B 的方法。这是整个事情。
var old_generateHTML = $.datepicker._generateHTML;
$.datepicker._generateHTML = function () {
function getMonth(s) {
var months = {
'January': '01', 'February': '02', 'March': '03', 'April': '04', 'May': '05', 'June': '06',
'July': '07', 'August': '08', 'September': '09', 'October': '10', 'November': '11', 'December': '12'
}
return months[s];
}
var ret = old_generateHTML.apply(this, arguments);
var month = ret.replace(/^.*month">([a-z]+)<\/span.*$/i, "$1");
var year = ret.replace(/^.*year">([0-9]{4})<\/span.*$/i, "$1");
ret = ret.replace(/href="#">([0-9]{1,2})<\/a>/g, "href=\"process.php?date=" + getMonth(month) + "/$1/" + year + "\">$1</a>");
return ret;
};
$(document).ready(function () {
$("#datepicker").datepicker();
});