Jquery 每个单元格的JQGrid上下文菜单

Jquery 每个单元格的JQGrid上下文菜单,jquery,jqgrid,contextmenu,row,cell,Jquery,Jqgrid,Contextmenu,Row,Cell,我使用上下文菜单允许用户对JQGrid中的单元格执行不同的操作: function showContextMenu(rowId) { menu1 = [ {'View':function(menuItem,menu) { alert("You clicked View!"); } }, $.contextMenu.separator, {'Upload':function(menuItem,menu) { alert("You c

我使用上下文菜单允许用户对JQGrid中的单元格执行不同的操作:

function showContextMenu(rowId)
{
    menu1 = [ {'View':function(menuItem,menu) { alert("You clicked View!"); } },
              $.contextMenu.separator, 
              {'Upload':function(menuItem,menu) { alert("You clicked Upload!"); }},
                $.contextMenu.separator,
                {'Remove':function(menuItem,menu) { alert("You clicked Remove!"); }}
               ];


    $('#' + rowId).contextMenu(menu1,{theme:'vista'}); 
事件

它可以工作,但很笨拙:问题是它需要做双击-因为在第一次点击时(如果我理解正确的话)-绑定函数,并且只在第二次显示菜单上。 我试着用

gridComplete : function {
 var dataIds = $('#list').jqGrid('getDataIDs');
for (var i = 0;i < dataIds.length; i++) {
showContextMenu(dataIds[i]);
 }
gridComplete:函数{
var dataid=$('#list').jqGrid('getdataid');
对于(var i=0;i
但在这种情况下,我无法收到iCol。有什么解决方案?
谢谢。

您必须指定值​​对于行和单元格

var dataIds = jQuery('#list').jqGrid('getDataIDs');
 var countCols = jQuery('#list').jqGrid('getGridParam', 'colNames').length;
 for (var i = 0;i < dataIds.length ; i++) {
    for (j=0;j<= countCols;j++)
       showContextMenu(dataIds[i],i+1,j);
 }

必须指定值​​对于行和单元格

var dataIds = jQuery('#list').jqGrid('getDataIDs');
 var countCols = jQuery('#list').jqGrid('getGridParam', 'colNames').length;
 for (var i = 0;i < dataIds.length ; i++) {
    for (j=0;j<= countCols;j++)
       showContextMenu(dataIds[i],i+1,j);
 }
function showContextMenu(rowid,iRow,iCol){
        menu1 = [ {'Yahoooo!':function(menuItem,menu) { 
        alert(rowid+" — "+iRow+" — "+iCol);
        } }];
jQuery("tr#"+rowid+" td").eq(iCol).contextMenu(menu1,{theme:'osx'});};