2011-11-16 78 views
0

如何在jqGrid中獲取動態上下文菜單?我需要顯示偶數行的'menu1'和奇數行的'menu2'?我試圖使用contextmenu插件,但不知道如何實現兩個上下文菜單之間的動態切換。謝謝。jqGrid中的動態上下文菜單

+0

有一些你到目前爲止的代碼? –

回答

0

好吧,你已經有contextmenu工作,但需要定義,如果行是偶數或奇數。

嘗試以下操作:

afterInsertRow: function(rowId, rowData, rowElm) { 
    var trElement = $('#' + rowid); 
    if(trElement.is(':even')) 
    // even contextMenu 
    else 
    // odd contextMenu 
} 
0

如果你真的需要綁定的偶數行只是「菜單1」和「MENU2」的奇數行可以實現結合網格行的loadComplete內。例如,如果你有

<div class="contextMenu" id="myMenu1" style="display:none"> 
    <ul style="width: 200px"> 
     <li id="edit1"> 
      <span class="ui-icon ui-icon-pencil" style="float:left"></span> 
      <span style="font-size:11px; font-family:Verdana">Edit Row 1</span> 
     </li> 
     <li id="del1"> 
      <span class="ui-icon ui-icon-trash" style="float:left"></span> 
      <span style="font-size:11px; font-family:Verdana">Delete Row 1</span> 
     </li> 
    </ul> 
</div> 
<div class="contextMenu" id="myMenu2" style="display:none"> 
    <ul style="width: 200px"> 
     <li id="edit2"> 
      <span class="ui-icon ui-icon-pencil" style="float:left"></span> 
      <span style="font-size:11px; font-family:Verdana">Edit Row 2</span> 
     </li> 
     <li id="del2"> 
      <span class="ui-icon ui-icon-trash" style="float:left"></span> 
      <span style="font-size:11px; font-family:Verdana">Delete Row 2</span> 
     </li> 
    </ul> 
</div> 

可以使綁定,

loadComplete: function() { 
    $("tr:even", this).contextMenu('myMenu1', { 
     bindings: { 
      'edit1': function(trigger) { 
       alert ("Edit (menu1) id=" + trigger.id); 
      }, 
      'del1': function(trigger) { 
       alert ("Delete (menu1) id=" + trigger.id); 
      } 
     } 
    }); 
    $("tr:odd", this).contextMenu('myMenu2', { 
     bindings: { 
      'edit2': function(trigger) { 
       alert ("Edit (menu2) id=" + trigger.id); 
      }, 
      'del2': function(trigger) { 
       alert ("Delete (menu2) id=" + trigger.id); 
      } 
     } 
    }); 
} 

the demo