所以我正在使用导航栏,我将此代码添加到删除选项
onclickSubmit: function (options, rowid) {
var rowData = jQuery(this).jqGrid('getRowData', rowid);
var params ={amount:rowData.amount,account:rowData.account.replace(/-/g,"")};
return params;
},
它工作得很好。现在当我添加相同的编辑选项时,它不起作用!当我尝试alert(rowData.account)
它显示未定义!同时,删除选项中具有相同参数的相同警报显示正确的值!
任何人都可以知道这里发生了什么。现在我必须在编辑选项中考虑以下代码
onclickSubmit: function (/*options, rowid, rowObject*/) {
//var roData = jQuery(this).jqGrid('getRowData', 8);
var s;
s = jQuery("#list").jqGrid('getGridParam','selarrrow');
var dataF = jQuery('#list').jqGrid ('getCell', s[0], 'account');
return {account:dataF.replace(/-/g,"")};
},
每当我看到这些示例显示传递options
,rowid
,rowObject
等参数时,我就会感到很困惑。一些例子传递2个参数,而其他传递3个,而其他传递没有传递,所有代码都工作!
我们如何知道,options
是一个关键字。怎么样rowid
?有些人使用rowId
,这也有效!
是否有任何文档可以解释:
1)每个jqGrid函数的参数类型和数量
2)jqGrid函数的关键字或保留字
我有一个很大的演示文稿,他们肯定会烧烤我。我不知道jqGrid如何工作或为什么它做它做的事情因为大多数jqgrid函数的行为是如此不稳定。也许我觉得这样,因为我是一个新手,但如果有人可以对这些问题有所了解,我将非常感激
感谢
答案 0 :(得分:0)
有点不舒服,但表单编辑的onclickSubmit
没有rowid
参数。您可以从postdata
:
onclickSubmit: function (options, postdata) {
var rowid = postdata[this.id + "_id"]; // postdata.list_id
...
}
顺便说一下,如果删除操作,onclickSubmit
的第二个参数也是postdata
,rowid
只有musltiselect: true
选项未设置或者multiselect: true
只选择了一行。如果使用了postdata
,并选择了更多行作为删除,那么{{1}}将是逗号分隔的字符串,其中包含删除行的ID (请参阅the documentation)。