5

我们使用自定义格式化程序来输出 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此处记录的错误。

4

2 回答 2

5

如果函数onPaging返回“停止”,则分页将停止。

于 2010-09-27T17:06:15.140 回答
0

根据我的观察 onPaging 事件在最新的 jqgrid 插件中运行良好。虽然如果我们使用以前的 jqgrid 插件(3.8 版本之前)。onPaging 事件将起作用但是,在我们使用此事件后分页中存在错误。因为它会自动增加页面的值用户单击确定或取消(在这两种情况下)。这会导致分页数据损坏。

于 2013-11-29T10:51:54.620 回答