jqGrid删除多行

jqGrid删除多行,jqgrid,multi-select,Jqgrid,Multi Select,我想删除网格中的多行,但当我选择多行并单击“删除”按钮时,什么也没有发生。没有参数被传递到editurl 请帮忙。这是我在navGrid中删除选项的代码: {height:180,mtype:“POST”,closeAfterDel:true,url:'gridedit.jsp',reloadeaftersubmit:true, onclickSubmit:函数(选项,rowid){ var rowData=jQuery(this).jqGrid('getRowData',rowid); var

我想删除网格中的多行,但当我选择多行并单击“删除”按钮时,什么也没有发生。没有参数被传递到
editurl

请帮忙。这是我在
navGrid
中删除选项的代码:

{height:180,mtype:“POST”,closeAfterDel:true,url:'gridedit.jsp',reloadeaftersubmit:true,
onclickSubmit:函数(选项,rowid){
var rowData=jQuery(this).jqGrid('getRowData',rowid);
var params={amount:rowData.amount,account:rowData.account.replace(/-/g,“”)};
返回参数;
},
后提交:函数(){
$(this.jqGrid('setGridParam',{datatype:'json'});
返回[true',];
}

如果使用
multiselect:true
选项,delete选项的
onclickSubmit
的第二个参数将是逗号分隔的ID列表,它将删除,而不仅仅是一个
rowid
。因此,您必须修改
onclickSubmit
的代码。直接使用
jQuery(此).jqGrid('getRowData',rowid)
将是错误的。您必须进行
var rowid=rowid.split(“,”)
,然后在rowid数组上迭代(例如使用for循环)。您可以使用
getRowData
rowid[i]
作为参数。必须返回像
params
这样的项目数组,而不是一个对象。

如果使用
multiselect:true
选项,delete选项的
onclickSubmit
的第二个参数将是逗号分隔的ID列表,它将删除,而不仅仅是一个
rowid
你必须修改
onclickSubmit的代码。直接使用
jQuery(this.jqGrid('getRowData',rowid)
将是错误的。你必须使
var rowids=rowid.split(“,”)
,然后在rowid数组上迭代(例如使用for循环)。你可以使用
getRowData
rowids[i]
作为参数。你必须返回像
params
这样的项目数组,而不是一个对象。

如果我使用自定义按钮,如何获取这些id?@will824:我不确定你为什么需要自定义按钮的id。自定义按钮可以在自定义类中包含
class
。因此如果你能找到
(行)按rowid,然后搜索具有自定义类的元素。或者,如果您有自定义按钮(例如在
单击
事件处理程序的内部),则可以使用
.nexist(.jqgrow”).attr(“id”)
查找rowid。通过这种方式,您可以识别单击按钮所在的行。@will824:如果您是指导航栏中的自定义按钮,那么您可以在调用中指定
id
参数。实际上,我遇到的问题是无法通过selectarrr调用检索所选id。这是因为检查了复选框我们有一个beforeSelect函数,该函数不允许选择行,因此id数组是空的。@will824:您最好在新问题中详细描述您的问题。如果我使用自定义按钮,如何获取这些id?@will824:我不确定您为什么需要自定义bu的idt打开。自定义按钮可以将
与自定义类一起使用。因此,如果您可以按rowid查找
(行),然后搜索具有自定义类的元素。或者,如果您有自定义按钮(例如,在
单击事件处理程序的内部),则可以使用
.closest(.jqgrow”).attr(“id”)
查找rowid。通过这种方式,您可以识别单击按钮所在的行。@will824:如果您是指导航栏中的自定义按钮,那么您可以在调用中指定
id
参数。实际上,我遇到的问题是无法通过selectarrr调用检索所选id。这是因为检查了复选框我们有一个beforeSelect函数,该函数不允许选择行,因此ID数组为空。@will824:您最好在新问题中详细描述您的问题。