有没有办法调用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。
答案 0 :(得分:3)
您可以使用ajax页面事件:
<p:dataGrid>
<p:ajax event="page" onstart="alert("ajax started");"
onsuccess="alert("ajax success");"
oncomplete="alert("ajax completed");" />
</p:dataGrid>