javascript - 如何在同一页面上开发两个 jqgrid,两个网格具有相同的上下文菜单?

标签 javascript jquery jqgrid

我在一个页面上有两个 jqgrid。这两个应该有上下文菜单。如果我有两个不同的上下文菜单,例如“myMenu1”和“myMenu2”,这是可能的。但我只想有一个上下文菜单,并且我想将它用于两个网格,实际上我引用了 link from oleg 。请建议我怎样才能实现?

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

我正在做的绑定(bind)如下所示。

loadComplete: function() {
                      $("tr.jqgrow", this).contextMenu('myMenu1', {
                          bindings: {
                              'edit': function(trigger) {
                                if (trigger.id && trigger.id !== lastSelection) {
                                      grid_location.restoreRow(lastSelection);
                                      grid_location.editRow(trigger.id, true);
                                lastSelection = trigger.id;
                                     }

                              },
                              'del': function(trigger) {
                          if ($('#del').hasClass('ui-state-disabled') === false) {
                                      // disabled item can do be choosed
                                      if (trigger.id && trigger.id !== lastSelection) {
                                          grid_location.restoreRow(lastSelection);
                                        //grid.editRow(trigger.id, true);
                                        //lastSelection = trigger.id;
                                             }
                                      grid_location.delGridRow(trigger.id, delSettings);
                                  }
                              }
                          },
                          onContextMenu: function(event/*, menu*/) {
                              var rowId = $(event.target).closest("tr.jqgrow").attr("id");
                              //grid.setSelection(rowId);
                              return true;
                          }
                      });
                  }

最佳答案

我认为 $(event.target).closest("table") 是对当前 jqgrid 的引用,当然如果没有子网格的话。

关于javascript - 如何在同一页面上开发两个 jqgrid,两个网格具有相同的上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862800/

相关文章:

JQuery selectmenu 在更改时设置选定索引

jquery - jqGrid - 如何使分页按钮更大?

javascript - 如何向标题中的 jqGrid 文本字段添加占位符?

javascript - 动态添加的 JavaScript 在 IE 中找不到动态添加的字段

.net - JavaScriptSerializer 的 XmlAttribute/XmlElement 等价物

java - 如何在不刷新所有页面的情况下刷新表格内容

javascript - 错误 : incorrect header check at Zlib. _handle.onerror (zlib.js :355:17) errno: -3, 代码: 'Z_DATA_ERROR'

php - Javascript如何安全地访问用户信息?

jquery - 访问 <li> 标记内的文本

javascript - 将特定的 jqGrid 列导出到 Excel 工作表