0

我正在使用 jQuery fixedheadertable 插件。该插件允许用户在向下滚动表格时拥有一个固定的标题,该标题保持在静态位置。但是,我的问题更像是一个一般的 js 问题

这是我初始化插件的代码:

setupClipboardTable:function(){
    var height  = jQuery('#clipboardTypeContainer').height();
    var width   = jQuery('#clipboardTypeContainer').width();
    var colW    = 150 
    var colCnt  = jQuery('#adCbColCnt').val();

    //var colratioString = [ colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW, colW ];
    var colratioString = [ 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150 ];

    jQuery('#Clipboard'+cbType).fixheadertable({
         height : height,
         whiteSpace     : 'nowrap', //normal
         addTitles      : true,
         colratio       : colratioString,
    });
},

基本上,我的问题是,对于我的表,列数会根据用户选择的偏好而改变。一旦该数字发生变化,我们必须重新运行此函数以使表格正确显示。主要思想是 var 'colratioString' 中的值必须与表中的列数相同。这些数字(例如:150)可以设置为我们想要的任何值,但为了简单起见,我现在将它们全部设置为 150。

我试图克服的障碍是有时我可能需要 colratioString 看起来像这样:

colratioString = [ 150, 150, 150, 150]

有时我可能需要它看起来像这样

colratioString = [ 150, 150, 150, 150, 150, 150, 150]

等等。

有什么方法可以获取 colCnt 值(这是我将拥有的正确列数),并创建一个具有正确数量值的 colratioString?

这是一个例子。如果...

var colCnt = 5

然后

var colratioString = [ 150, 150, 150, 150, 150 ]

我无法获取 colCnt 的值,并创建一个包含我需要的确切格式的 colratioString 变量。

感谢您的阅读!

4

2 回答 2

2

您可以创建数组并填充它:

var colratioString = [];
for (var i = 0; i < colCnt; i++) colratioString[i] = 150;
于 2014-09-05T18:32:37.430 回答
1

使用数组切片:

colratioString.slice(0,colCnt);

这是假设您从一个比您需要的更大的数组开始。如果您只想创建一个特定大小的数组:

var i = colCnt;
var colratioString = [];
while(colCnt--) colratioString.push(colW);
于 2014-09-05T18:32:40.423 回答