2011-07-25 21 views
2

TableSorterプラグインをいくつか無効にしたいと思います。 これらの目は、クラス=「disableSorter」を持っているので、私は実行します。動的変数をJQuery関数に使用できません

インデックスは
$('.disableSorter').each(function(index) { 

    $('.tablesorter').tablesorter({ headers: { index: { sorter: false} } }); 

}); 

:関数に渡されたインデックス変数です。 「インデックス」は数値で置き換えられません(例:0 :, 1:5 :,など)

ありがとうございました!

=====編集=====

おかげJaredPar、あなたのソリューションは、動的変数について正しかったです。私はコードを編集しなければなりませんでした。なぜなら、要素のインデックスを取得するのではなく、各ループのインデックスを得ることができないからです。ここで

は、ここでの問題は、あなたはJavaScriptを値を探しているが、代わりにリテラルが名前として使用するためにされていない場所で値を使用しようとしているである私の最終的なコード

var inner = {}; 
$('.disableSorter').each(function() { 
    inner[$('.tablesorter th').index(this)] = { sorter: false }; 
}); 

$('.tablesorter').tablesorter({ headers: inner }); 
+0

私はあなたが私を打つ –

答えて

4

です。値に基づいて名前付きメンバーを作成するには、[]構文を使用する必要があります。

$('.disableSorter').each(function(index) { 
    var inner = {}; 
    inner[index] = { sorter: false }; 
    $('.tablesorter').tablesorter({ headers: inner); 

}); 
+0

「と呼んでjQueryのプラグインにオブジェクトインデックスの代わりに動的変数を使用することはできません」にタイトルを変更示唆パンチに!私はちょうど私のjsFiddleを終えた! :) –

1

は試してみこの

var obj = null; 
$('.disableSorter').each(function(index) { 
    obj = {}; 
    obj.headers = {}; 
    obj.headers[index] = { sorter: false }; 
    $('.tablesorter').tablesorter(obj); 

}); 
関連する問題