我在html中有下一个和上一个链接
<a href="/event-sort/calendar/2009/9/sports/">prev</a>
<a href="/event-sort/calendar/2009/11/sports/">next</a>
单击它们时,我希望页面进行ajax调用以加载将更新日历的html的php脚本
现在,当日历更新时,箭头已被删除并再次添加到dom中,因此我无法绑定这些事件
这就是我现在所拥有的
function url_to_array(string)
{
var url = string;
var url_array = url.split('/');
return url_array;
}
function update_cal(evt)
{
var url_array = url_to_array(evt.data);
$('#master-calendar').css({
background:'url(/images/ajax-load.gif) no-repeat left top',
height:'600px'
}).html('');
$.get('/ajax_events.php',
{
view:url_array[2],
year:url_array[3],
month:url_array[4],
category:url_array[5]
},
function(returned_data)
{
$('#content').html(returned_data);
var element_id = $(evt.target).attr('id');
var element_href = $('#' + element_id).attr('href');
$('#' + element_id).unbind('click', update_cal).bind('click', element_href, update_cal);
}
);
evt.preventDefault();
}
//文件就绪 $(文件)。就绪(函数(){
var prev_link = $('#cal_nav_previous').attr('href');
$('#cal_nav_previous').bind('click', prev_link, update_cal);
var next_link = $('#cal_nav_next').attr('href');
$('#cal_nav_next').bind('click', next_link, update_cal);
}); //结束文件准备
我真的想为我的下一个和上一个按钮使用一个update_cal函数
我希望日历可以通过js访问,这就是网址中hrefs和日期编号的原因,任何帮助都会受到赞赏
我曾经尝试过jquery现场活动,但没有取得多大成功
我可以一次将update_cal函数绑定到下一个和上一个链接吗?
答案 0 :(得分:2)
这里似乎有几个问题,所以我会尝试回答其中的一些问题。
要避免链接的默认行为,您可以使用jquery:
$('a').click(function(event){
event.preventDefault();
});
当然你必须指定正确的链接......
要将链接中的变量传递给您的脚本,您可以使用rel属性:
<a href="/event-sort/calendar/2009/9/sports/" rel="200909">prev</a>
<a href="/event-sort/calendar/2009/11/sports/" rel="200911">next</a>
并使用jquery读取rel属性。
要自动绑定事件,您可以将绑定部分放在ajax_events.php脚本中
看起来如此,或者我错过了什么?
顺便说一句,我试图计算我的答案,但这会弄乱代码,所以大胆的是......