Если вам действительно нужно связать просто 'menu1' для четных строк и '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);
}
}
});
}
См. демо .