我有一个页面,用于构建查询并针对不同的实体运行它们(一种查询构建器/通用搜索)。
结果显示在 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;
}
}
);
}
谢谢, 阿维纳什