在内联编辑jqGrid时,向服务器传递额外POST数据(外部参数)的正确语法



我有一个jqGrid,它使用专门用于该网格的脚本进行内联编辑。我正在尝试组织和合并服务器脚本,所以现在我希望使用一个新的脚本在服务器上进行内联编辑。要使用这个新脚本,我需要在内联编辑时向脚本传递一个额外的POST变量。我不知道如何在内联编辑时将额外的数据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。正确的语法是什么?

谢谢!

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

我觉得这个表格可读性更强(例如见答案)。

相关内容

  • 没有找到相关文章

最新更新