0

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

通过表单编辑,我使用该editData属性将添加的 POST 数据包含在编辑表单中。我已经阅读了jqGrid 文档,我可以通过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正确合并。什么是正确的语法?

谢谢!

4

1 回答 1

2

如果您使用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' }
});

我发现表格更具可读性(例如,请参阅答案)。

于 2012-09-14T20:50:34.247 回答