gpt4 book ai didi

javascript - 如何覆盖删除期间jqGrid发送的id参数

转载 作者:行者123 更新时间:2023-12-03 02:26:31 24 4
gpt4 key购买 nike

我正在使用 free-jqGrid 4.14.1 显示在两列上具有复合 id 的数据:idtype。由于 jqGrid 不支持组合键,因此我添加了一个名为 uniqueId 的字段,其中包含 idtype 的串联值:

$grid.jqGrid({
url: /*ajaxListURL*/ '',
editurl: /*ajaxActionURL*/ '',
datatype: 'json',
mtype: 'POST',
loadonce: false,
colModel: [
{name: 'uniqueId', key: true, hidden: true}, //uniqueId=id+type
{name: 'id', editable: true, hidden: true, editrules: {edithidden:true}, hidedlg: true},
{name: 'type', editable: true, hidden: true, editrules: {edithidden:true}, hidedlg: true},
{name: 'name', editable: true}
]
}).jqGrid('navGrid', '#pager', {edit: false, add: false, del: true}, {}, {}, {
onclickSubmit: function(options, delId){
var rowData = $(this).jqGrid('getRowData', delId);
return {
id: rowData['id'],
type: rowData['type']
};
}
}).jqGrid('inlineNav', '#pager', {add: false});

我的服务器需要 idtype 参数来编辑或删除记录。它无法处理解析 uniqueId 以便提取 id 而无需进行一些我试图避免的后端重构。

为了使编辑工作正常,我将字段 idtype 设置为可编辑和隐藏,以便 jqGrid 在每次编辑记录时都会发送这两个字段。 (这很好用)

为了使删除工作有效,我实现了删除分页选项的onclickSubmit方法,并手动添加了idtype值帖子数据。但是 jqGrid 用 uniqueId 的值覆盖 id 的值

这是一个演示:https://jsfiddle.net/zohalexix/7wczzvur/

删除时是否可以发送 id 参数的实际 id 值(无需重命名参数 id)?

最佳答案

添加即可解决问题

prmNames: { id: "uniqueId" }

jqGrid 的选项。它会通知jqGrid使用uniqueId而不是默认 id用于在编辑操作期间将 rowid 发送到服务器。

此外,您还可以添加一个选项

jsonReader: { id: "uniqueId" }

并删除绝对不需要的隐藏列 uniqueId 。一般来说,每个隐藏的 DOM 元素都会降低页面的性能并增加 Web 浏览器使用的内存大小。

此外,我建议删除 <div id="pager"></div> ,使用pager: true而不是pager: '#pager'并删除 '#pager参数来自navGridinlineNav 。通过使用 navOptions 可以使代码更具可读性, inlineNavOptions , formEditing , formDeleting , searching , inlineEditing等参见https://jsfiddle.net/OlegKi/7wczzvur/26/相应修改的示例。

最后,我建议您迁移到当前的 4.15.3 版本。我只支持最新版本的免费 jqGrid。例如,如果您在免费的 jqGrid 4.14.1 中发现错误,那么它将仅在最新代码(4.15.4 中)中修复。

关于javascript - 如何覆盖删除期间jqGrid发送的id参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48922975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com