0

所以我正在使用导航栏,并将此代码添加到删除选项中

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 函数的行为是如此不稳定。也许我有这种感觉,因为我是一个新手,但如果有人能对这些问题有所了解,我将不胜感激

谢谢

4

1 回答 1

0

有点不舒服,但是onclickSubmit表单编辑的没有rowid参数。你可以从postdata

onclickSubmit: function (options, postdata) {
    var rowid = postdata[this.id + "_id"]; // postdata.list_id
    ...
}

顺便说一句,onclickSubmit在删除操作的情况下,第二个参数也是postdatarowidmusltiselect: true未设置选项或仅选择一行时。如果multiselect: true被使用并且更多作为选择删除的一行,那么postdata将是逗号分隔的字符串,带有删除行的 id(请参阅文档)。

于 2013-07-12T14:52:06.547 回答