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

时间:2017-11-02 15:13:53

标签: javascript jquery servlets jqgrid free-jqgrid

我使用的是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")}}}});

1 个答案:

答案 0 :(得分:2)

您在问题中包含的代码包含属性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选项

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

并使用inlineNav作为

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