我们使用自定义格式化程序输出html表单文本框。如果用户已输入数据并且他们点击了下一个/上一个按钮,我们想告诉他们“您已经编辑了数据,点击确定以保留在此页面并保存您的数据”。你怎么能这样做?
使用寻呼机时会触发“onPaging”事件,但它似乎无法阻止分页发生。
更新:当前解决方法:
var currPg = 1;
var dirty = 'false';
$("#list").jqGrid({
...
onPaging: function (b) {
var nextPg = $("#list").getGridParam("page");
if (dirty == 'false') {
currPg = nextPg;
return;
}
$( "#dialog-confirm" ).dialog({
modal: true,
buttons: {
"Stay on current page": function() {
$( this ).dialog( "close" );
},
"Change page": function() {
$( this ).dialog( "close" );
reloadGrid($("#list"), null, nextPg, 'false');
}
}
});
$("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)
return 'stop';
},
更新2 :错误已记录here。
答案 0 :(得分:5)
如果函数onPaging返回'stop',则分页将停止。
答案 1 :(得分:0)
根据我的观察onPaging事件在最新的jqgrid插件中运行良好。如果我们使用以前的jqgrid插件(在3.8版本之前).onPaging事件将起作用但是,在我们使用此事件后,分页中存在错误。因为它自动递增页面的值,无论是用户点击确定还是取消(在两种情况下都是如此)。导致破坏的数据损坏。