jqGrid中的搞笑行为

时间:2013-07-12 14:31:40

标签: function jqgrid keyword reserved-words

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

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,"")};
},
每当我看到这些示例显示传递optionsrowidrowObject等参数时,我就会感到很困惑。一些例子传递2个参数,而其他传递3个,而其他传递没有传递,所有代码都工作!

我们如何知道,options是一个关键字。怎么样rowid?有些人使用rowId,这也有效!

是否有任何文档可以解释:

1)每个jqGrid函数的参数类型和数量

2)jqGrid函数的关键字或保留字

我有一个很大的演示文稿,他们肯定会烧烤我。我不知道jqGrid如何工作或为什么它做它做的事情因为大多数jqgrid函数的行为是如此不稳定。也许我觉得这样,因为我是一个新手,但如果有人可以对这些问题有所了解,我将非常感激

感谢

1 个答案:

答案 0 :(得分:0)

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

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

顺便说一下,如果删除操作,onclickSubmit的第二个参数也是postdatarowid只有musltiselect: true选项未设置或者multiselect: true只选择了一行。如果使用了postdata,并选择了更多行作为删除,那么{{1}}将是逗号分隔的字符串,其中包含删除行的ID (请参阅the documentation)。