jqgrid addRowData報錯

  今天再寫項目的時候, 有一個手動添加行的功能,使用的是jqgrid的addRowData方法添加數據。可是在咱們切換標籤頁的時候,再次添加行,調用這個方法的時候,報錯了。錯誤信息以下ajax

  而後通過本身的反覆測試發現是這樣的,當咱們切換到第二個標籤頁的時候,頁面上是沒有數據的,調用addRowData的方法報錯。可是咱們切換回第一個標籤頁的時候,頁面是有原來的測試假數據的,調用addRowData是沒有報錯了。因此可能就是數據的問題。咱們添加數據使用的是本地 請求ajax,而後使用datatype:local的方法賦值的。也就是下面的代碼數組

1                             $("#table_list_1").jqGrid("clearGridData");
2                             $("#table_list_1").jqGrid('setGridParam', {  
3                                 data:all_data,
4                                 datatype: "local",
5                             }).trigger("reloadGrid");

代碼當中,當咱們是沒有數據的時候,咱們直接給all_data賦值一個空數組。因此解決辦法也就很簡單了。咱們首先判斷all_data是否是有數據,若是沒有數據的話,只調用第一行的clearGridData方法。具體代碼請看:編輯器

1                         if(all_data.length){
2                             $("#table_list_1").jqGrid("clearGridData");
3                             $("#table_list_1").jqGrid('setGridParam', {  
4                                 data:all_data,
5                                 datatype: "local",
6                             }).trigger("reloadGrid");
7                         }else{
8                             $("#table_list_1").jqGrid("clearGridData");
9                         }

而後咱們調用addRowData方法,添加數據,就不會出現上面的報錯了。測試

總結:其實此次的錯誤是和上一篇百度富文本編輯器報錯的文章同樣,就是由於當咱們再次使用實例化的時候,沒有清空或者說銷燬原來的實例,致使的報錯。這樣的錯誤,應該避免。spa

相關文章
相關標籤/搜索