我有一个带有搜索表单字段的网页,点击提交按钮 我使用Ajax.BeginForm
进行Ajax调用并使用结果填充div结果有分页链接来处理分页。
问题出在Ajax调用之后我有这个Jquery代码,当点击其中一个分页链接时它应该触发。但是他们不会开枪。
这是因为使用Ajax调用填充了div吗?
我使用点击提交按钮测试了该代码,然后它就可以了。只是分页链接不会激发。
$('.pagerlinks a').click(function() {
$('#resultsdiv').load('Search/Advanced', {Keywords=keywords, etc });
});
答案 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