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 に答える