I need to show custom text on some dates at Jquery UI datepicker, to be more precise, to render a specific price for some dates.
My idea was to use beforeShowDay
to attach specific price in titles of such dates and then, in beforeShow
to check out each td and to place title's text into the cell. Example:
var m, d, y, checkDate, specificPrice = '';
var specificPrices = {"2013-3-8":"300 EUR", "2013-2-26":"263 EUR"}
$('#my-datepicker').datepicker({
beforeShowDay: function checkAvailable(date) {
m = date.getMonth();
d = date.getDate();
y = date.getFullYear();
checkDate = y + '-' + (m+1) + '-' + d;
if(specificPrices[checkDate]){
specificPrice = specificPrices[checkDate];
}else{
specificPrice = '';
}
return [true, "", specificPrice];
},
beforeShow: function(elem, inst){
$('table.ui-datepicker-calendar tbody td', inst.dpDiv).each(function(){
var calendarPrice = $(this).attr('title');
if(calendarPrice != undefined){
$(this).find('a').append('<span class="calendar-price">' + calendarPrice + '<span>');
}
});
}
});
This will render prices on first calendar render (before month/year are changed) and for the inline calendar only.
I need prices to be shown on not-inline calendar and on any month/year change as well.
I tried some other variants, and tried to use onChangeMonthYear
, but with no success so far.
Thank you for the attention, your ideas are welcome.