Jqgrid内联编辑发送.content{
width: calc(100px * attr(data-x number, 1));
background: #f00;
}
数据。但内联删除发送JSON
。我需要仅使用JSON数据将数据发送到Web方法
继承人如何在网格中插入删除按钮
colmodelMob是我的FORMs data
数组
colModel
它基本上是因为弹出一个确认框,要求服务器确认行删除。但我不需要我需要将我的数据作为JSON发送,否则它不会点击 colmodelMob.push(
{
label: "Edit Actions",
name: "actions",
width: 100,
formatter: "actions",
formatoptions: {
keys: true,
editOptions: {},
addOptions: {},
delOptions: {}
}
});
。
答案 0 :(得分:0)
jqGrid使用jQuery.ajax与服务器通信。要以JSON格式发送数据,必须做两件事:
JSON.stringify
进行编码。contentType
或"application/json"
值的"application/json; charset=utf-8"
选项。它在请求中包含HTTP标头ContentType
。标头通知服务器,发送到服务器的数据以JSON格式编码。也可以选择使用dataType: "json"
选项。如果Ajax调用的响应也应包含JSON编码数据,则使用该选项。
现在关于jqGrid里面的上述要求的实现。 jqGrid可以在很多地方使用jQuery.ajax。您使用jqGrid的复古版本4.4.4。它的可能性要小得多,它是在很老的Web浏览器,旧的jQuery等时开发的。我提醒你,在jqGrid 4.4.4发布之日,我们使用了Chrome 24,Firefox 18,Internet Explorer 10,Safary 6.0.2。 IE8(以及Internet Explorer)是桌面上最受欢迎的Web浏览器(仅限Windows)。现在可以使用Chrome 54,Firefox 50,Microsoft Edge 38和Internet Explorer 11,Safari 10.您是否真的相信jqGrid 4.4.4能够很好地与现代Web浏览器配合使用?我严格建议您更新到free jqGrid的当前版本(4.13.5)。
如果您仍然需要使用jqGrid 4.4.4,那么您应该使用
{
label: "Edit Actions",
name: "actions",
width: 100,
formatter: "actions",
formatoptions: {
keys: true,
delOptions: {
serializeDelData: function (postData) {
return JSON.stringify(postData);
},
ajaxDelOptions: {
contentType: "application/json"
}
}
}
}
必须在许多不同的版本中设置delGridRow
的选项,这取决于其他方法的用法。问题是:人们不仅直接使用delGridRow
方法,而且间接使用formatter: "actions"
方法。例如navGrid
,inlineNav
,delGridRow
使用内联编辑或表单编辑选项。您必须使用相应的深层放置选项来指定inlineEditing
的自定义选项。免费的jqGrid具有 jqGrid选项,它允许为方法的所有间接调用指定公共选项。可以使用formEditing
,formDeleting
,formViewing
,searching
,inlineEditing: {
keys: true
},
formDeleting: {
serializeDelData: function (postData) {
return JSON.stringify(postData);
},
ajaxDelOptions: {
contentType: "application/json"
}
}
来指定所有方法使用的默认选项。因此,您可以使用jqGrid选项
formatoptions
之后,您只需删除formatter: "actions"
的{{1}}属性即可。如果您使用navGrid
,则在删除过程中也会使用相同的选项。
您可以在the wiki article中详细了解指定选项的新方法。
顺便说一句,你可能会遇到内联编辑的问题。您应该使用ajaxRowOptions
选项和jqGrid的serializeRowData
回调来在内联编辑期间进行JSON编码。免费的jqGrid支持相同的选项,并允许您在ajaxSaveOptions
内使用serializeSaveData
和inlineEditing
。