jquery-ui - 如何将 jqGrid 的 "close dialog"的事件正确附加到 "columns chooser"?

标签 jquery-ui jqgrid jquery-ui-dialog jquery

我在正确使用 jqGrid 的列选择器插件/小部件的关闭对话框事件时遇到一些问题。这就是我所拥有的 - 我从 jqGrid 初始化开始,最后附加了列选择器,如下所示

ticketsTable = tableWrap.jqGrid({
    url: ... ,
    datatype: ... ,
    ...
    loadComplete: function(d) {
        ...
    }
})
.navGrid('#ticketsList_footer', {edit:false, add:false, del:false, cloneToTop:true})
.navButtonAdd('#ticketsList_toppager', {
    caption: "Columns",
    title: "Reorder Columns",
    id: "colButton",
    onClickButton: function(){ ticketsTable.jqGrid('columnChooser'); }
});

然后,在 loadComplete 函数(上面)中,我找到该对话框并将警报附加到其关闭事件,如下所示。

$('#colButton').click(function(e){
    setTimeout(function(){
        log($( ".ui-dialog" ).length);
        $( ".ui-dialog" ).bind( "dialogclose", function(event, ui) {
          log('close dialog event captured!');
        });
    }, 500);
});

出于某种原因,只有当我通过角落里的“x”按钮关闭对话框时,才会出现警报。当我单击“确定”或“取消”时,没有任何警报。我错过了什么?

顺便说一句,我这样做的原因是我需要在对话框关闭后更新表格的大小(setGridWidth)以调整添加/删除的列。也许有更优雅的方法来做到这一点?

最佳答案

您可以使用以下代码

tableWrap.jqGrid (
    'navButtonAdd',
    '#pager',
     {
         caption: "", buttonicon: "ui-icon-calculator", title: "choose columns",
         onClickButton: function() {
             tableWrap.jqGrid('columnChooser', {
                     done: function(perm) {
                         if (perm) {
                             tableWrap.jqGrid("remapColumns", perm, true);
                             alert("The column chooser closed with 'OK' button");
                         } else {
                             alert("The column chooser closed with 'Cancel' button");
                         }
                     }
                 }
             );
        }
     });

参见the demo

关于jquery-ui - 如何将 jqGrid 的 "close dialog"的事件正确附加到 "columns chooser"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6996602/

相关文章:

javascript - 如何仅在单击 div 时使按钮可见

css - jqGrid 中的行选择器列

jquery - 具有不显眼解析的 MVC 3 在 JQuery Dialog 上不起作用?

jquery - 使用 jQuery 在文本框中单击打开窗口

Jquery:最小化 Accordion 标签点击标签内容

javascript - jQuery 仅将鼠标悬停在图像内容上而不是 Alpha

javascript - 为什么 datepicker() 接受参数 'getDate' ?

json - 在 jqGrid 上从 JSON 获取和排序

javascript - 垂直滚动条占用最后一列的宽度

javascript - 目录列表随机显示在对话框内的 jQuery UI 选项卡中