我需要在 Jquery UI datepicker 的某些日期上显示自定义文本,更准确地说,以呈现某些日期的特定价格。我的想法是使用 beforeShowDay 在此类日期的标题中附加特定价格,然后在 beforeShow 中检查每个 td 并将标题的文本放入单元格中。例子:
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>');
}
});
}
});
这将在第一次日历渲染(更改月份/年份之前)和仅用于内联日历时渲染价格。
我需要在非内联日历以及任何月/年更改上显示价格。
我尝试了其他一些变体,并尝试使用 onChangeMonthYear,但到目前为止没有成功。
感谢您的关注,欢迎您的想法。