我正在使用guriddo jqGrid 5.2.1
我已按照这些问题提供的答案:
但是我定义的editData没有被发送到端点。
以下是我的jqgrid寻呼机定义中的代码:
$('#jqGrid').navGrid('#jqGridPager',
// the buttons to appear on the toolbar of the grid
{ edit: true,
add: true,
del: true,
search: false,
refresh: false,
view: false,
position: "left",
cloneToTop: false,
mtype: 'POST',
editData: {
mediaPlanId : function() { return mpId; }
}},
// options for the Edit Dialog
{
editCaption: "Edit Item",
recreateForm: true,
checkOnUpdate : true,
checkOnSubmit : true,
closeAfterEdit: true,
errorTextFormat: function (data) {
return 'Error: ' + data.responseText;
}
},
// options for the Add Dialog
{
closeAfterAdd: true,
recreateForm: true,
errorTextFormat: function (data) {
return 'Error: ' + data.responseText;
}
},
// options for the Delete Dailog
{
errorTextFormat: function (data) {
return 'Error: ' + data.responseText;
}
}
);
mpId是在页面级别的jqGrid和jqGridPager函数之外定义的。我尝试发送值为1,但这也不起作用。我怀疑我错过了一些简单的东西,但我无法弄清楚是什么。
答案 0 :(得分:1)
您将editData
参数放在错误的位置。 navGrid
的选项非常糟糕,可以轻松搞错。我在the wiki article的free jqGrid分析中详细描述了这个问题,我开发了这个问题。
目前,您已将editData
放在navGrid
的选项中,而不是将其放在编辑/添加的选项中,这些选项是editGridRow的选项。问题在免费的jqGrid中得到解决,但是如果您更喜欢使用Guriddo jqGrid JS的商业版本,那么我建议您按以下方式重写代码:
var myErrorFunc = function (data) {
return 'Error: ' + data.responseText;
},
addEditFormOptions = {
editCaption: "Edit Item",
recreateForm: true,
checkOnUpdate : true,
checkOnSubmit : true,
closeAfterEdit: true,
closeAfterAdd: true,
editData: {
mediaPlanId : function() { return mpId; }
},
errorTextFormat: myErrorFunc
},
delOptions = {
errorTextFormat: myErrorFunc
};
$('#jqGrid').navGrid('#jqGridPager', { search: false, refresh: false },
addEditFormOptions, addEditFormOptions, delOptions);
答案 1 :(得分:1)
我认为更好的方法是首先阅读documentation of Guriddo jqGrid,它将指导您放置参数的位置。