我有一个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' }
});
我觉得这个表格可读性更强(例如见答案)。