2015-04-23 54 views
0

我试图删除多个选定的行。我实现了这里所描述的方式有多种选择:https://stackoverflow.com/a/4186851/1844996的jqGrid - 删除多个选定的行

我删除代码如下:

element.jqGrid('navGrid', pagerId, 
    { edit:false, add:false, search:false, del:true, refresh:true }, 
    /*editParams*/{ 
    }, 
    /*addParams*/{ 
    }, 
    /*deleteParams : */{ 
     mtype: 'DELETE', 
     onclickSubmit: function (params, postdata) { 
      var rowids = postdata.split(",");     
      for (var i = 0; i < rowids.length; i++) { 
       var id = rowids[i];           
       var uniqueId = element.jqGrid('getCell', id, uid);      
       params.url = url + '/' + encodeURIComponent(uniqueId); 
      } 
     }, 
     serializeDelData: function() { 
      return ''; // don't send and body for the HTTP DELETE 
     } 
    } 
); 

当只有一个行被选中,删除HTTP请求被发送到服务器,一切就像一个魅力。 然而,对于多重选择每UNIQUEID创建很好,但只有一个DELETE HTTP与选择的最后一行发送。任何想法如何克服这一点,并为每一行单独发送DELETE HTTP?

回答

0

我设法实现它稍有不同。而不是发射很多DELETE HTTP请求,我发射一个在URL中设置逗号分隔的删除ID值。

params.url = url + '/' + [uniqueIds] 

和删除逻辑在服务器上处理。一切都通过单个HTTP DELETE来解决。