JQuery .load问题

时间:2009-05-16 09:08:03

标签: jquery

我有一个带有搜索表单字段的网页,点击提交按钮 我使用Ajax.BeginForm

进行Ajax调用并使用结果填充div

结果有分页链接来处理分页。

问题出在Ajax调用之后我有这个Jquery代码,当点击其中一个分页链接时它应该触发。但是他们不会开枪。

这是因为使用Ajax调用填充了div吗?

我使用点击提交按钮测试了该代码,然后它就可以了。只是分页链接不会激发。

    $('.pagerlinks a').click(function() {
       $('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc }); 
});

3 个答案:

答案 0 :(得分:3)

我会在jquery中使用实时绑定函数,以便能够在创建的任何时候绑定到所有指定的元素:

http://docs.jquery.com/Events/live

你的代码也会激活DOM ready事件吗?如:

$(function () {
 $('.pagerlinks a').click(function() {
       $('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc }); 
});

});

答案 1 :(得分:2)

另一种方法是在回调函数中重新绑定,称为$.load的第二个参数:

function initPagerlinks()
{
     $('.pagerlinks a').click(function() {
           $('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc }, initPagerlinks); 
     });
}

$(document).ready(function() {
    initPagerlinks();
});

答案 2 :(得分:0)

有两种解决方案: 1.添加到加载函数回调,用于在加载的内容上设置事件。 2.使用直播活动:

$("p").live("click", function(){ $(this).after("Another paragraph!"); }); http://docs.jquery.com/Events/live