0

aspxページのテーブルにExcelのようなフィルタリングを実装する必要があります。

私が欲しいのは、列ヘッダーをクリックすると、その列の行のリストが表示され、それぞれにチェックボックスが付いているはずです。特定の行を選択すると、それに応じてテーブルがフィルタリングされます。

4

1 に答える 1

0

これは、一度に 1 つの列の実際の例です。私はこれをいくつかの列でも機能させることに取り組んでいます: http://jsfiddle.net/mwB37/20/

UI とすべてを備えた完全なプラグインを求めているので、関連するコードを SO に含めるのはちょっと難しいです。しかし、ここに私の考え方とコンセプトを定義する重要な抜粋があります。

// fetching the column index
var columnIndex = th.index();

// then fetching the corresponding TDs (use for-loop when thousands of elements)
var tds = th.closest('table')
            .find('tbody td:nth-child(' + (columnIndex+1) + ')');

// distinctively selecting the unique text values in those columns
var checks = $.unique(tds.map(function() {
    return $(this).text();
}).get());

// the most basic way possible of filtering
// (should be extended into an OR query of all current column filters)
if (index != -1 || arr.length == 0)
    td.parent('tr').show();
else
    td.parent('tr').hide();

代わりに既に完成したものが必要な場合は、次のようなプラグインがあります: PicNet Table Filter

jQuery DataTables プラグイン で利用できるフィルタリングプラグインもありますが、その主な目的は明らかに並べ替えです。

于 2012-10-26T19:28:14.590 に答える