gpt4 book ai didi

javascript - jqGrid ('getGridParam' ,'colNames' )奇怪的行为

转载 作者:行者123 更新时间:2023-12-03 11:57:11 25 4
gpt4 key购买 nike

使用此函数返回网格的列名称效果很好。拼接它返回的数组时会出现问题。

网格包含一个复选框作为第一列,因此我想将其从数组中删除。这是该代码。

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

当我多次使用此函数(它正在导出到 Excel)时,问题就出现了。下次导出时,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来制作jqGrid使用的内部colNames的副本。

关于javascript - jqGrid ('getGridParam' ,'colNames' )奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25558700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com