【发布时间】:2017-07-26 08:05:29
【问题描述】:
所以我必须在打开右键单击表中任何单元格时打开的上下文菜单时获取列名。我找到了这个答案jqGrid - determine name of column on right click of a column in jqGrid,它仅适用于列标题。
到目前为止我的代码
loadComplete: function () {
$('tr.jqgrow').contextMenu('myMenu2', {
bindings: {
CA: function(trigger) {
var cm = $('#' + MY_GRID ).jqGrid("getGridParam", "colModel");
//CODE SHOULD BE ADDED HERE -- to get the column name and pass to addToContext();
var rowData = jQuery('#' + MY_GRID ).jqGrid ('getRowData', trigger.id);
addToContext(rowData);
}
}
});
},
也试过这段代码,但我得到未定义
var cellName = $(trigger).closest('td').attr('aria-described-by');
【问题讨论】:
-
您使用哪个版本的
contextMenu?您使用的 jqGrid 版本以及 jqGrid 的哪个分支(free jqGrid、商业版jqGrid JS 或版本 contextMenu 绑定到jqGrid 的每一行 单独,并在每次填充网格时执行此操作。将contextMenuonce 绑定到网格就足够了。此外,您可以使用contextMenu的onContextMenu回调。选项event(event.target) 的target属性为您提供所需的完整信息。 -
您可以使用
var iCol = $(event.target).closest("tr.jqgrow>td")[0].cellIndex;获取列的索引,cm[iCol].name是列名。 -
@Oleg 我使用旧的 jqGrid 和 jquery.contextmenu.r2.packed.js 我会检查你的解决方案谢谢你的回答
-
@Oleg 谢谢它的工作
-
不客气!