如何让jqGrid在提交后关闭添加对话框

问题描述:

我有一个jqGrid,它使用内联编辑来编辑单个行,并使用navGrid上的图标来处理添加和删除。它工作得很好,除了点击添加对话框中的提交按钮之后,该行被添加,但对话框不会关闭。我已将closeAfterAdd: truecloseAfterEdit: true放在适当的位置(AFAIK),但添加对话框在提交后不会消失。我相信我错过了一些简单的东西,但我已经搜遍了维基,并且似乎无法弄清楚缺少的东西。以下是我的脚本代码:如何让jqGrid在提交后关闭添加对话框

$(document).ready(function() {   
    var lastsel; 
    var idToSelect; 
    jQuery("#grdEnvironments").jqGrid({ 
     url: '/Artifacts/GetEnvrionments', 
     datatype: 'json', 
     mType: 'GET', 
     colNames: ['', 'Name'], 
     colModel: [ 
      { name: 'TCEnvironmentId', key: true, index: 'TCEnvironmentId', sortable: false, hidden: true, editable: false }, 
      { name: 'Name', index: 'Name', width: 150, editable: true, editrules: { required: true } }, 
     ], 
     pager: '#grdEnvironmentsPager', 
     rowNum: 15, 
     gridview: true, 
     loadui: 'block', 
     width: 300, 
     height: 250, 
     viewrecords: true, 
     editurl: '/Artifacts/EditEnvrionment', 
     caption: 'Various Envrionments', 
     onSelectRow: function (id) { 
      if (id && id != lastsel) { 
       $(this).restoreRow(lastsel); 
       $(this).editRow(id, { 
        keys: true, 
        closeAfterEdit: true 
       }); 
       lastsel = id; 
      } 
     }, 
     loadComplete: function() { 
      if (idToSelect) { 
       $(this).jqGrid('setSelection', idToSelect); 
       //console.log('In load Complete'); 
       //console.log(idToSelect); 
       idToSelect = undefined; 
      } 
     } 
    }); 
    jQuery('#grdEnvironments').jqGrid('navGrid', '#grdEnvironmentsPager', 
     { add: true, edit: false, del: true, search: false, view: false }, 
     {/* Edit Options */ 
      closeAfterEdit: true 
     }, 
     {/* Add Options */ 
      closeAfterAdd: true, 
      afterSubmit: function(response) { 
       idToSelect = response.responseText; 
       //console.log('In after submit'); 
       //console.log(idToSelect); 
       return [true,'',idToSelect]; 
      } 
     }); 
}); 

任何帮助表示赞赏 - 这是不是作秀塞,但我想获得所记录的行为。顺便说一句 - 当我注释掉console.log语句时,它们出现在控制台中,所以我知道我正在进入代码。

谢谢。

你应该尝试使用jqGrid的最后4.5.2版本。版本4.5.0包含一些使用closeAfterAddclearAfterAdd的错误。该错误在4.5.1版本中得到修复(请参阅here)。

+0

谢谢 - 修好了! – twreynol

+0

@twreynol:不客气! – Oleg