クエリを作成し、さまざまなエンティティに対して実行するために使用されるページがあります (一種のクエリ ビルダー/汎用検索)。
結果は JQGrid に表示されるため、異なるエンティティからの結果をレンダリングするために実質的に同じグリッドが使用されます。
この結果グリッドは、エンティティごとに異なるコンテキスト メニューをサポートする必要があります。そのため、エンティティごとにコンテキスト メニューを変更する方法が必要です。各エンティティは、コンテキスト メニューに異なる数のメニュー項目を持つことができ、各項目は異なる方法で応答することがあります (アラートの場合もあれば、別のタブで生成されるアクションの場合もあります)。
(li を使用して) さまざまなメニューをレンダリングすることは問題ではありませんが、メソッドを li にアタッチすることは困難であることがわかっています。どんな指針も高く評価されます。
jquery.contextmenu-ui.js を使用しています。
以下は、私が彼らの (JQGrid) サイトから選んだサンプルです。
function initGrid() {
$("#EntityGrid").contextMenu('cMenu'
,{
bindings: { /* I would like to avoid this and pass all the actions to one method*/
'edit': function (t) {
editRow();
},
'add': function (t) {
addRow();
},
'del': function (t) {
delRow();
}
},
onContextMenu: function (event, menu) {
var rowId = $(event.target).parent("tr").attr("id")
var grid = $("#EntityGrid");
grid.setSelection(rowId);
return true;
}
}
);
}
ありがとう、アビナッシュ