使用模式窗体添加新行时,使用jqGrid添加其他参数以发布数据

Ten*_*eff 5 javascript jquery jqgrid

POST当我用模态形式添加新记录时,我需要为jqGrid的数据添加额外的动态参数.

我试过了:

$('#table').setPostData({group: id});
$('#table').setPostDataItem('group', id);
$('#table').setGridParam('group', id);
Run Code Online (Sandbox Code Playgroud)

没有任何成效.

Ole*_*leg 10

您可以使用editGridRow方法的editData参数.在大多数情况下,您不直接使用editGridRow,而是使用Navigator.在这种情况下,你可以定义editData作为的一部分或在的navGrid:prmEditprmAdd

$('#table').jqGrid('navGrid','#pager',
                   {/*navGrid options*/},
                   {/*Edit options*/
                       editData: {
                           group: function() {
                               return id;
                           }
                       }
                   }
});
Run Code Online (Sandbox Code Playgroud)

另一个选项是serializeEditData,onclickSubmitbeforeSubmit方法.查看详情在这里这里.

  • @Teneff:不客气."添加"选项的设置完全以相同的方式工作(`navGrid`的下一个`prmAdd`参数),但我相信你已经找到了这个. (2认同)
  • @Quincy:你不能用`navGrid`的第二个cal覆盖`navGrid`参数.如果您使用`editData:myEditData`,其中`myEditData`是一个对象(至少定义为`var myEditData = {};`),您将能够添加,修改或删除`myEditData`的属性. (2认同)
  • @Quincy:是的!In必须是一个带有对象的变量(如`myEditData`见上文)作为值而不是内联语法`{...}`.在这种情况下,`navGrid`将接收**对象`myEditData`的引用**.所以我希望(但不测试自己)你将能够修改`myEditData`并且`navGrid`将以修改的形式使用它. (2认同)

小智 8

您可以向jqGrid的POST数据添加其他动态参数

$j("#listsg11").jqGrid({
    url: "/summary_reports",   
    postData: {department:"value1", score_r1:"value2", designation:"value3" },
    mtype: 'POST',
    datatype: "xml",
    height: 250,
    width: '100%', .... and so on
Run Code Online (Sandbox Code Playgroud)

此方法使用调用附加具有默认参数(由jqGrid使用)的值.