【发布时间】:2013-02-19 14:19:41
【问题描述】:
我需要在 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,但到目前为止没有成功。
感谢您的关注,欢迎您的想法。
【问题讨论】:
-
我开发了一个适用于您可能感兴趣的标准和内联日期选择器的解决方案,请参阅下面的answer。
-
对不起,我问这个问题已经一年多了。目前我不在这个问题的范围内。虽然我稍后会尝试找一些空闲时间来审查您的方法,以便接受它作为一种解决方案。