datepicker の日付をリンクに変換したいと思います。どうやってやるの?があることは知っていますが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();
});