【问题标题】:correct syntax for passing additional POST data (extraparams) to server when inline editing jqGrid内联编辑 jqGrid 时将附加 POST 数据(额外参数)传递给服务器的正确语法
【发布时间】:2012-09-14 20:35:25
【问题描述】:

我有一个 jqGrid 使用专门的脚本进行内联编辑,专门用于这个网格。我正在尝试组织和整合服务器脚本,所以现在我希望使用一个新脚本在服务器上进行内联编辑。要使用这个新脚本,我需要在编辑内联时向脚本传递一个额外的 POST 变量。我不知道如何在内联编辑时向服务器发布附加数据。

通过表单编辑,我使用editData 属性在编辑表单中包含附加的 POST 数据。我在jqGrid docs 中读到我可以使用extraparams 参数传递附加的POST 数据。我似乎无法正确使用语法。

这是我所拥有的,但它不起作用:

$('#list').editRow(
        id,
        true,
        function(){
            $('input[name=customer]').autocomplete({source:customerlist});
            today = new Date();
            $('input[name=date]').val(today.getFullYear() + '-' + (today.getMonth()+1) + '-' + today.getDate());
        },
        extraparams={
            'arg1':'daily_folding_reports'
        }
    );

list 是网格的 ID。添加自动完成的功能在 EDIT 上正确触发,但我没有正确合并 extraparams。正确的语法是什么?

谢谢!

【问题讨论】:

    标签: jquery post jqgrid inline-editing


    【解决方案1】:

    如果你使用editRow的位置形式,那么调用应该如下所示

    $("#list").jqGrid('editRow', id,
        true,
        function () {
            $('input[name=customer]').autocomplete({source:customerlist});
            today = new Date();
            $('input[name=date]').val(today.getFullYear() + '-' +
                (today.getMonth()+1) + '-' + today.getDate());
        },
        null,
        null,
        { arg1: 'daily_folding_reports' });
    

    我个人更喜欢editRow 的另一种用法,它可以减少null 参数的数量:

    $("#list").jqGrid('editRow', id, {
        keys: true,
        oneditfunc: function () {
            $('input[name=customer]').autocomplete({source:customerlist});
            today = new Date();
            $('input[name=date]').val(today.getFullYear() + '-' +
                (today.getMonth()+1) + '-' + today.getDate());
        },
        extraparam: { arg1: 'daily_folding_reports' }
    });
    

    我发现该表单更具可读性(例如,请参阅 the answer)。

    【讨论】:

    • 我意识到这是一篇旧帖子,但是否有可能根据 jqGrid v4.x.x 的新 API 重新回答其中的一些问题?
    • @DevlshOne:选项太多,所以我不太明白你的意思。内联编辑的用法有很多种:直接调用editRow(如这里)、formatter: "actions"的用法和inlineNav的用法。此外,可以使用extraparam 将属性定义为函数(参见hereherehere 等),或者可以使用serializeRowData 回调。很难在一个答案中描述所有可能的情况
    • 我很感激有这么多的选择和方法来回答这个问题,所以我发布了我自己的具体情况和问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2013-02-12
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    相关资源
    最近更新 更多