使用 jqGrid 编辑回调发送额外参数

Send Extra Parameters with jqGrid Edit Callback

我用的是jqgrid免费版。我需要使用内联编辑发送一个额外的参数以及编辑回调。

这是我的代码,但额外的参数没有到达 servlet。

$("#csstsoplacardarrangmentlist").jqGrid   ('inlineNav',"#csstsoplacardarrangmentlistpager",
    {edit:true,add:false,del:false,search:true,view:false},
    {editParams: {editRowParams:{keys: true, extraparam: {quickfillflag:$('.quickfillflag2').prop("checked")}}}});

您在问题中包含的代码包含 属性 extraparam,值为 {quickfillflag:$('.quickfillflag2').prop("checked")}。在执行 inlineNav 期间,对象将被初始化 一次 。此外,您还使用了未知的 editRowParams 属性。您应该将内联编辑的属性直接放在 editParams.

如果我正确理解你的问题,那么问题将通过使用 quickfillflag 定义为函数来解决:

$("#csstsoplacardarrangmentlist").jqGrid('inlineNav', 
    "#csstsoplacardarrangmentlistpager",
    { edit: true, add: false },
    {
        editParams: {
            keys: true,
            extraparam: {
                quickfillflag: function () {
                    return :$('.quickfillflag2').prop("checked");
                }
            }
        }
    });

此外,我建议您在 jqGrid 的 inlineEditing 选项中指定内联编辑选项。之后可以减少inlineNav的选项。例如,您可以使用 jqGrid options

inlineNavOptions: {
    edit: true,
    add: false
},
inlineEditing: {
    keys: true,
    extraparam: {
        quickfillflag: function () {
            return :$('.quickfillflag2').prop("checked");
        }
    }
}

并将inlineNav用作

$("#csstsoplacardarrangmentlist").jqGrid('inlineNav');