我已经实现了ajax标签,在1 ajax标签中我加载了一个用ajax更改月份和年份的日历。我遇到的问题是加载内容的绑定事件。
这是我正在使用的代码示例:
$.ajax({
type: 'POST',
url: 'main/ajaxjson/load_course_details',
data: {page : which},
success: function(home){
$('#ajax-content ').hide();
$('#ajax-content').empty().append(home);
$('#ajax-content').fadeIn();
}
})
使用此代码我加载选项卡,我生成整个html并将其附加到ajax-content div。 在此之后,我将事件绑定用于新内容,如下所示:
('body').on('click', 'a.next-month', function(){
// code here })
但问题是它在每次点击后都会丢失数据。我希望加载所有数据并轻松地对新数据执行ajax请求。
答案 0 :(得分:0)
使用一个对象来存储已经发出的ajax调用:
var whichTree = {};
var handler = function(home){
whichTree[which] = home;
$('#ajax-content ').hide();
$('#ajax-content').empty().append(home);
$('#ajax-content').fadeIn();
};
if ( whichTree[which] ) {
handler(whichTree[which]);
}
else {
$.ajax({
type: 'POST',
url: 'main/ajaxjson/load_course_details',
data: {page : which},
success: handler
});
}