使用此函数可以很好地返回网格的列名。拼接它返回的数组时会出现问题。jqGrid('getGridParam','colNames')奇怪的行为
网格包含一个复选框作为第一列,所以我想从数组中删除它。这是代码。
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值回来作为拼接阵列。这可能是完全愚蠢的事情,但我在这里错过了什么?
你拼接'columnTitles'而不是'columnTitles2'。 – 2014-08-28 22:16:26
我知道,这就是要点。即使我拼接列标题2也回来拼接。 它看起来像奥列格证实了我的怀疑,它通过引用传递,这只是出于某种原因令我惊讶。 – mrshickadance 2014-08-29 12:47:50