取消jqGrid删除事件

时间:2017-01-09 11:03:37

标签: jqgrid

我有一个jqGrid,它使用内置删除功能在我的控制器中调用删除操作。

如果验证函数返回false,我想取消删除事件并停止在控制器中调用我的操作。

我尝试在onClickSubmit中返回false,但仍然会调用我的操作。

以下是我的jqGrid的formatOptions代码。在调用控制器操作之前调用onClickSubmit函数。

formatoptions: {
    keys: true,
    editbutton: false,
    editformbutton: false,
    delOptions: {
        url: $(URL).val(),
        caption: 'Delete',
        width: 'auto',
        msg: 'Are you sure you want to delete these record(s)?',
        bSubmit: "Delete",
        bCancel: "Cancel",
        mtype: 'POST',

        onclickSubmit: function (response, postdata, formid) {

            return false;


        }
    }
}

1 个答案:

答案 0 :(得分:3)

如果您需要取消删除,则必须使用beforeSubmit回调而不是onclickSubmit。回调beforeSubmit应该返回带有两个元素的数组。第一个元素应为布尔truefalse,其中false表示停止删除。第二个元素应该是带有错误描述的字符串。如果第一个元素是false,它应该存在。例如,

formatoptions: {
    keys: true,
    editbutton: false,
    editformbutton: false,
    delOptions: {
        url: $(URL).val(),
        caption: 'Delete',
        width: 'auto',
        msg: 'Are you sure you want to delete these record(s)?',
        bSubmit: "Delete",
        bCancel: "Cancel",
        mtype: 'POST',
        beforeSubmit: function (postdata) {
            if (/* come test of postdata*/) {
                return [false, "One can't delete the row"];
            }
            return [true]; // allow to delete
        }
    }
}