dataGrid分页后调用javascript

时间:2014-10-07 14:11:26

标签: jquery ajax jsf primefaces

有没有办法调用JS或jQuery函数之后PrimeFaces dataGrid在页面之间切换并且数据内容已经改变?我必须为数据网格上显示的项目设置jQuery函数,因为项目是逐页显示的,我必须将此jQuery函数重新附加到显示的新项目。尝试了以下但没有成功;

//way #1 - call ajax on complete/ on success after a page link has been clicked
$('.ui-paginator').click(function(e) {
                alert("enter");
                $.ajax({
                    success: function(data, textStatus, jqXHR) {
                        alert("success");
                        $('.certain-class').attachFunction();
                    },
                    complete: function(data, textStatus, jqXHR) {
                        alert("complete");
                        $('.certain-class').attachFunction();
                    }
                });

//way #2 - after the content of the data grid has changed, call the function 

$('.ui-datagrid-content').ajaxComplete(function() {
   alert("changed outside");
   $('.certain-class').attachFunction();
});

我得到的结果是警报被调用(因此,函数被附加)但总是在dataGrid上的内容被更改之前,我想到了使用超时,但这不是所希望的方法

我使用的是PF 5.0。

1 个答案:

答案 0 :(得分:3)

您可以使用ajax页面事件:

<p:dataGrid>
   <p:ajax event="page" onstart="alert("ajax started");"
                        onsuccess="alert("ajax success");"
                        oncomplete="alert("ajax completed");" />
</p:dataGrid>