2017-01-09 127 views
0

我有一個jqGrid,它使用內置的刪除功能來調用我的控制器中的刪除操作。取消jqGrid刪除事件

我想取消刪除事件,並停止在控制器中調用我的操作,如果驗證函數返回false。

我已經嘗試在onClickSubmit返回false,但是我的操作仍然被調用。

以下是我的jqGrid的代碼formatOptions。在調用控制器動作之前調用onClickSubmit函數。

formatoptions: { 
    keys: true, 
    editbutton: false, 
    editformbutton: false, 
    delOptions: { 
     url: $(URL).val(), 
     caption: 'Delete', 
     width: 'auto', 
     msg: 'Are you sure you want to delete these record(s)?', 
     bSubmit: "Delete", 
     bCancel: "Cancel", 
     mtype: 'POST', 

     onclickSubmit: function (response, postdata, formid) { 

      return false; 


     } 
    } 
} 

回答

3

你如果需要取消刪除使用beforeSubmit回調,而不是onclickSubmit。回調beforeSubmit應該返回包含兩個元素的數組。第一個元素應該是布爾型truefalse,其中false表示停止刪除。第二個元素應該是帶有錯誤描述的字符串。它應該存在,如果第一個元素是false。例如,

formatoptions: { 
    keys: true, 
    editbutton: false, 
    editformbutton: false, 
    delOptions: { 
     url: $(URL).val(), 
     caption: 'Delete', 
     width: 'auto', 
     msg: 'Are you sure you want to delete these record(s)?', 
     bSubmit: "Delete", 
     bCancel: "Cancel", 
     mtype: 'POST', 
     beforeSubmit: function (postdata) { 
      if (/* come test of postdata*/) { 
       return [false, "One can't delete the row"]; 
      } 
      return [true]; // allow to delete 
     } 
    } 
} 
+0

這工作出色,節省了我很多時間。謝謝! – DNKROZ

+0

@DNKROZ:不客氣! – Oleg