jqGridを編集&のdelete URLを動的に設定する必要があります。選択した行のIDだけでなく、他の行の列の内容にも依存します。 私が見つけたすべての例では、 "id"フィールドだけが公開されているonclickSubmitを扱います。任意のヒント?jqGrid、行データに基づいてURLを動的に編集/削除する
答えて
編集と削除には「editurl」という値が1つしかありません。だからあなたはそれを更新する必要があります。あなたがそうのように、setGridParamでediturlの値を変更することができます。
$("#jqGridTable").setGridParam('editurl', 'myNewUrl/foo');
あなたが現在選択された行の内容に基づいてロジックを使用して、そのURLを構築したい場合は、このような何かを:
onSelectRow: function(id){
var rowData = $("#jqGridTable").getRowData(id);
// example logic
if (rowData['col1'] == 'foo' && rowData['col2'] == 'bar')
$("#jqGridTable").setGridParam('editurl', 'myNewUrl/foo/bar');
else
$("#jqGridTable").setGridParam('editurl', 'myNewUrl/foo');
}
私はJake Feaselが「」と書いたので、私は自分の答えを書くことにしました。編集と削除の値は「editurl '」です。私は多くの方法があり、最高のものは他の要件に依存していると思います。
一般的にサーバに送信されたデータは、POSTなどのHTTPリクエストの種類木の部分から
- から成る、まで
- URLの一部をPUTまたはDELETE「?」文字
- '?'の後に続くURLのパラメータ。 HTTPの体のデフォルトパー文字
- HTTPリクエスト
の体をjqGridは、HTTP POSTリクエストを使用し、ID(またはmultiselect: true
の場合はIDのカンマ区切りリスト)の情報を配置要求。 HTTPリクエストのタイプを変更した場合は、サーバーに送信する情報の場所を本文からURLなどに変更する必要があります。使用の場合、サーバー側のRESTfulサービスは、削除操作にHTTP DELETEを使用する必要があり、その場合は空の本体があります。
何らかの方法で、行の編集または削除に関する追加情報を記入するコールバック関数(イベント)を使用します。コールバック関数の内部では、削除行または編集行の他のセルに関する追加情報を得るために、getRowData
またはgetCell
methodsを使用できます。時々、正確な状況に依存して、方法がうまくいかない。編集中に、<input>
,<select>
またはその他のコントロールに変更されたセルからの情報を取得しようとすると、インライン編集のセル編集の場合になります。この場合、回避策として使用できる他のトリックがあります(たとえば、hereを参照)。
1つの方法は、最後に選択した行を削除または編集するため、onSelectRow
のURLを変更することです。私は$("#jqGridTable")
の代わりに$(this)
を使用します。
url
をonclickSubmit
(hereおよびhereを参照)の内側に変更することもできます。
は、URLの部分を '?'に変更する必要がある場合にのみ使用することをお勧めします。文字。paramNama=paramValue
を&
で割ったようなURLにパラメータを追加する必要がある場合は、代わりにeditDataまたはdelDataパラメータを使用することをお勧めします。パラメータには関数を含めることができます。 hereまたはhereを参照してください。
本文の変更を変更する必要がある場合は、serializeDelData
またはserializeEditData
を使用できます。
多くの方法があり、他の要件に応じて最適な方法が異なります。
私は通常、$( '#jqGridTable')ではなく$(this)を使用しますが、完全なコンテキストがなければ、それはもっと混乱すると考えました。 –
私は上記の誤植があると思います。 それは、私はあなたに同意
$("#jqGridTable").setGridParam({'editurl':'myNewUrl/foo/bar'});
ない
$("#jqGridTable").setGridParam('editurl', 'myNewUrl/foo/bar');
- 1. JqGrid各行の編集と削除ボタン
- 2. 別のテーブルのIDに基づいてテーブル上の行を編集して削除する
- 3. 特定のユーザーセッションデータに基づいてjQgridの削除ボタンを無効にする
- 4. jqgridインライン編集行とデータが
- 5. URLに基づいてデータを格納する行[PHP]
- 6. 前の行に基づいてCSVファイル内の行を編集する
- 7. ヌル値に基づいて重複行を削除する
- 8. Pandas-列に基づいて重複行を削除する
- 9. jqGridの編集データをJSONにシリアル化
- 10. jqGrid行編集カスタム編集アクションツールチップ
- 11. jqgrid、行の追加、編集、削除をお手伝いします
- 12. SQL Reporting Servicesのパラメータに基づいてクエリを編集する
- 13. 値に基づいてGridviewセルの値を編集する(VB.NET)
- 14. スリックグリッドのチェックボックスの選択に基づいて行を削除
- 15. GridViewの行でクリックした編集ボタンに基づいて特定のデータ入力オブジェクトを無効にする
- 16. スライディング日付ウィンドウに基づいてユニオンの日付パーティションテーブルを動的に編集する方法
- 17. 動的にサイズjqGridフォームフィールドを追加/編集
- 18. aspコンボボックスの選択に基づいてjqgridデータを再ロード
- 19. インデックスの集合に基づいて配列の内容を削除します
- 20. キーに基づいてXML値を編集
- 21. 周囲の行に基づいてデータフレーム内の行を削除する
- 22. クリックしたリンクに基づいてURLからハッシュタグ値を削除します
- 23. JQueryを使用してURLに基づいて動的IDを選択する
- 24. git hunk編集モード - ' - '行を削除するには?
- 25. Excelマクロ。列に基づいて重複しない行を削除する
- 26. Excel VBA特定の出会いに基づいて行を削除する
- 27. JSまたはJQueryでデバイスの向きに基づいてimg srcを動的に編集
- 28. 異なるテーブルの列に基づいてSELECTから行を削除する
- 29. サブストリングに基づいてファイルを削除する
- 30. jQuery - クラス名に基づいてDIVを削除する
+1でなければなりません。私はそれが**唯一の方法ではないと思う**。 – Oleg
私は「唯一の道」をこのようにすることは決してしませんでしたが、私が言ったようにほとんど音がします。 「これを更新する必要があるだけだ」と言ったときの意味は、これを達成するための独占的な手段ではなく、そうするのが最も簡単な方法でした。 –
OK、あなたの言葉を正確に繰り返すわけではありませんが、 'editurl'は本当に変更できる唯一のパラメータではありません。 [navGrid](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:navigator#definition)の 'prmEdit'、' prmAdd'または 'prmDel'パラメータの中で' url'プロパティを使うと、 'editurl'は無視されます。しかし私はあまりにも正式であることを望んでいません。私はその前に、あなたが提案した方法はうまくいくはずだと言って、質問からの主な問題だったと思われる 'getRowData'の使い方について書きました。 – Oleg