Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

How can I implement a righ-click context-menu in JqGrid for PHP ?

I am trying this solution by Oleg, but it is not working. I would like to get this:

enter image description here


grid.php snippet:

$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);

Is there any way to get a context menu in JqGrid for PHP ?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
178 views
Welcome To Ask or Share your Answers For Others

1 Answer

First of all your code have unneeded space: 'loadComplete ' instead of 'loadComplete'.

I can repeat one more time that I don't use PHP myself and don't use setGridEvent of JqGrid for PHP too. So I can only guess that $grid->setGridEvent probably don't forward this correctly. In the case you can use setGridParam to set callback dynamically (see the answer) or to use jqGridLoadComplete event instead of loadComplete callback (see the answer).


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...