jqGrid的getcell()方法返回false的原因
最近,小編在寫jqGrid的一個刪除功能時犯了個錯誤:使用getcell()方法獲取單元格數據時返回了false。接下來我們來探討一下這個問題出現的原因。 getCell方法的使用方法 首先,讓我
最近,小編在寫jqGrid的一個刪除功能時犯了個錯誤:使用getcell()方法獲取單元格數據時返回了false。接下來我們來探討一下這個問題出現的原因。
getCell方法的使用方法
首先,讓我們來看一下getCell方法的使用方法。getCell方法有兩個參數,第一個參數是行id,第二個參數是列名(也可以是列id,但是推薦使用列名)。如果在數據表格中找不到對應的查詢數據,該方法會返回false值。
錯誤代碼示例
下面是我寫的錯誤代碼:
$(quot;#postListquot;).jqGrid('delRowData', rowId);
postId $(quot;#postListquot;).getCell(rowId, 'postId');
alert(postId);
$.ajax({ ... });
如果你看懂了上面的代碼,你就應該知道哪里出了問題了。我在使用getCell方法之前,把刪除行的代碼放在了獲取單元格數據的代碼之前。所以在取值的時候自然會返回false,造成了這個錯誤。
解決辦法
那么要如何解決這個問題呢?解決辦法很簡單:先取值保存,然后再進行刪除操作。下面是正確的代碼示例:
postId $(quot;#postListquot;).getCell(rowId, 'postId');
$(quot;#postListquot;).jqGrid('delRowData', rowId);
alert(postId);
$.ajax({ ... });
總結
這個問題其實是我自己在開發邏輯上出現了問題,肯定不能先刪除再獲取值。但是問題還是出現了,說明類似的情況在其他人身上也可能會發生。在開發過程中,我們經常會遇到各種奇葩問題。如果本文對您有所幫助,請給予支持,謝謝!