如何在JqGrid for PHP中实现righ-click 上下文菜单?
我正在this solution尝试Oleg,但它无效。 我想得到这个:
grid.php 片段:
$rightclick = <<<RIGHTCLICK
function () {
$("tr.jqgrow", this).contextMenu('myMenu1', {
bindings: {
'edit': function (trigger) {
// trigger is the DOM element ("tr.jqgrow") which are triggered
grid.editGridRow(trigger.id, editSettings);
},
'add': function ( /*trigger*/ ) {
grid.editGridRow("new", addSettings);
},
'del': function (trigger) {
if ($('#del').hasClass('ui-state-disabled') === false) {
// disabled item can do be choosed
grid.delGridRow(trigger.id, delSettings);
}
}
},
onContextMenu: function (event /*, menu*/ ) {
var rowId = $(event.target).closest("tr.jqgrow").attr("id");
//grid.setSelection(rowId);
// disable menu for rows with even rowids
$('#del').attr("disabled", Number(rowId) % 2 === 0);
if (Number(rowId) % 2 === 0) {
$('#del').attr("disabled", "disabled").addClass('ui-state-disabled');
} else {
$('#del').removeAttr("disabled").removeClass('ui-state-disabled');
}
return true;
}
});
}
RIGHTCLICK;
$grid->setGridEvent('loadComplete ', $rightclick);
有没有办法在JqGrid for PHP中获取上下文菜单?
答案 0 :(得分:2)
首先,您的代码有不必要的空间:'loadComplete '
而不是'loadComplete'
。
我可以再重复一次,我自己不使用PHP,也不要使用JqGrid的setGridEvent
。所以我只能猜测$grid->setGridEvent
可能无法正确转发this
。在这种情况下,您可以使用setGridParam
动态设置回调(请参阅the answer)或使用jqGridLoadComplete
事件代替loadComplete
回调(请参阅the answer)。< / p>