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)undefined と表示されます!同時に、削除オプションの同じパラメーターを持つ同じアラートは正しい値を表示します!

誰でもここで何が起こっているのか理解できますか。今、編集オプションで次のコードを熟考する必要があります

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,"")};
},

optionsrowid、などのパラメーター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削除操作の場合の2番目のパラメーターは、オプションが設定されていない場合、または1行のみが選択されている場合のみですpostdata。が使用され、複数の行が削除対象として選択されている場合は、行の削除の ID を持つカンマ区切りの文字列になります (ドキュメントを参照してください)。rowidmusltiselect: truemultiselect: truepostdata

于 2013-07-12T14:52:06.547 に答える