我们使用自定义格式化程序来输出 html 表单文本框。如果用户输入了数据并点击了下一个/上一个按钮,我们想告诉他们“您已经编辑了数据,点击确定以留在此页面并保存您的数据”。你怎么能这样做呢?

这 '分页时' 当您使用寻呼机时会触发事件,但它似乎无法阻止分页的发生。


更新: 目前的解决方法:

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: :已记录错误 这里.

有帮助吗?

解决方案

如果函数 分页时 返回“stop”则分页将停止。

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top