Существует один метод editGridRow , который реализует редактирование формы для и диалогов «Редактировать» и «Добавить».Таким образом, одно и то же событие han`ler serializeEditData может использоваться в обоих случаях.Например,
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for edit
}
},
{/*add options*/
serializeEditData: function (postdata) {
// your implementation of serializeEditData for add
}
},
{/*del options*/},
{/*search options*/}
/);
Обычно serializeEditData
событие очень практично, если вам необходимо преобразовать все опубликованные данные в другом формате, например всделать сериализацию JSON.Чтобы иметь возможность передавать дополнительные параметры постданных, вы можете использовать параметр editData
, который имеет то же значение, что и параметр postData
в jqGrid:
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*add options*/
editData: {SomeExtraData: $('#extradata').val()}
},
{/*del options*/},
{/*search options*/}
);
или лучше (см. этот ответ об использовании функций в качестве свойства postData
):
$("#list").jqGrid('navGrid','#pager',
{/*navGrid options*/},
{/*edit options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*add options*/
editData: {SomeExtraData: function() {return $('#extradata').val();}}
},
{/*del options*/},
{/*search options*/}
);