簡體   English   中英

jqGrid('getGridParam','colNames')異常行為

[英]jqGrid('getGridParam','colNames') odd behavior

使用此函數返回網格的列名可以正常工作。 拼接返回的數組時會出現問題。

網格包括一個復選框作為第一列,因此我想將其從數組中刪除。 這是代碼。

var columnTitles = $(table).getGridParam('colNames'); 
columnTitles.splice(0,1);

當我多次使用此功能時,問題就來了(將其導出為ex​​cel)。 下次我導出時,getGridParam函數實際上返回的是拼接的列名數組,而不是實際的。 好像是通過引用或其他方式傳遞。

進一步證明它正在執行此操作,而且我不僅對全局變量或其他問題有疑問...如果我執行以下代碼:

var columnTitles = $(table).getGridParam('colNames'); 
var columnTitles2 = $(table).getGridParam('colNames'); 
columnTitles.splice(0,1); 
console.log(columnTitles2); 

columnTitles2的值作為拼接數組返回。 這可能是完全愚蠢的,但是我在這里想念的是什么?

該方法getGridParam返回由使用的jqGrid內部參數的參考 如果使用數組或對象(例如colNamescolNames ,則應格外小心。 它需要修改的數組你的目的 ,但你不想改變你的jqGrid應首先使陣列的復制值,然后修改副本:

var columnTitles = $(table).jqGrid("getGridParam", "colNames").slice(); 
columnTitles.splice(0,1);

我用slice制作了colNames使用的內部colNames的副本。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM