在呈现新页面后,在Yii中将事件附加到CPagination更改

时间:2011-06-18 18:58:33

标签: jquery pagination yii event-delegation

这可能是一个新手问题,所以我希望它很容易回答!我一直在苦苦挣扎近一个星期..请任何帮助非常感谢。

我有一个CListView,我正在使用集成的cpagination。我有一个用onload事件触发的javascript函数,它根据特定条件描绘了这个clistview的一些项目。但是,当用户更改页面时不会触发此事件,因此很明显这是一个问题:因为项目仅在第一次加载页面时绘制。

现在,我已经走到了这一步:我学会了如何处理jquery事件,所以我有这个:

    $('body').delegate('li', 'click', function(event) {
    alert("next");
    paintMyLigas();
});

这样,每次单击下一个,上一个或任何其他分页按钮时,都会调用此函数。弹出警报,我甚至在paintMyLigas()函数中添加了一些警告,这些警报也会弹出。但是,我的物品不再被涂漆。我相信这可能是因为在呈现新页面(cpagination)之前触发了此事件。这是我被困住的地方(本周第n次):我怎样才能让这个事件在之后触发?或者任何人都可以指出任何其他方向让我能够解决这个问题?我需要帮助!! :)

1 个答案:

答案 0 :(得分:0)

如果您在每次更新CListView后都在寻找一种执行自定义JS代码的方法(使用AJAX自动处理),那么afterAjaxUpdate属性就是您想要的钩子。

例如,尝试设置afterAjaxUpdate = 'js:paintMyLigas'。这是你想要的吗?