我正在使用一个登录系统,用户可以在该系统上注册带有附加日历的多个产品。整个网站都可以处理ajax响应。
问题是,当用户第一次选择上载的产品并查看日历时,先前保存的日期显示为选中状态。但是之后不管他切换到多少产品,它都会在日历上继续显示相同的日期数据。
下面是我的代码:
jQuery(document).ready(function ($) {
// Click Function On Calendar Tab
$("#tabCalendar").click(function(){
var productId = $("#productId").val();
$.ajax({
type:'POST',
url:'../ajax/listing_availabily_dates_fetch.php',
data: "&productId=" + productId,
datatype: 'json',
success:function(response){
startTheCalendar(response);
}
});
});
function startTheCalendar(response){
$("#show-next-month").calendar({
num_next_month: 11,
num_prev_month: 0,
unavailable: response, // This is where dates should update
onSelectDate: function(date, month, year, thisEvent){
var dateData = [year, month, date].join('-');
selected = response;
dateClickEvent(dateData, thisEvent);
}
});
}
// function dateClickEvent(dateData, thisEvent) {}
});
寻求帮助。
答案 0 :(得分:0)
我正在寻找错误方向的解决方案,或者可能更复杂。我认为如果可以刷新插件数据会更容易,为此我什至开始在插件本身中创建自定义函数。
令我惊讶的是,在没有任何帮助的情况下,这相当容易:
HTML:
<div id="calendar-holder">
<div id="calendar" ></div>
</div>
jQuery:
function startTheCalendar(response){
$("#calendar-holder").html("");
$("#calendar-holder").html('<div id="calendar" ></div>');
if(response == ""){ response = []; }
$("#show-next-month").calendar({
num_next_month: 11,
num_prev_month: 0,
unavailable: response, // This is where dates should update
onSelectDate: function(date, month, year, thisEvent){
var dateData = [year, month, date].join('-');
selected = response;
dateClickEvent(dateData, thisEvent);
}
});
}
我只需要从HTML清除插件数据并重新填充。