更新#2:tablesorter v2.17.0以降、クラス名*またはIDを使用して、filter_functions
オプション内の列をターゲットにすることができます。
// filter functions
widgetOptions: {
filter_functions : {
".exact" : function(e, n, f, i) {
return e === f;
}
}
}
*注:クラス名には、、、、、、、、、など、あらゆる種類のインデックスを使用するセレクターを"th:eq()"
含めることはできません。":gt()"
":lt()"
":first"
":last"
":even"
":odd"
":first-child"
":last-child"
":nth-child()"
":nth-last-child()"
ドキュメントでは、filter_functions
オプションを使用する代わりの方法が示されています。
または、列フィルター関数をtrueに設定する代わりに、列ヘッダーに「filter-select」というクラス名を付けます。デモをご覧ください。
したがって、filter-select
代わりにクラス名を列に追加するだけです。
更新:他のフィルター関数が使用されているため、初期化コードの外部でこれらの関数を定義できます(デモ)
// Add these options to the select dropdown (date example)
// Note that only the normalized (n) value will contain
// the date as a numerical value (.getTime())
var dateFxns = {
// Add these options to the select dropdown (date example)
// Note that only the normalized (n) value will contain
// the date as a numerical value (.getTime())
"< 2004": function (e, n, f, i) {
return n < Date.UTC(2004, 0, 1); // < Jan 1 2004
},
"2004-2006": function (e, n, f, i) {
return n >= Date.UTC(2004, 0, 1) && // Jan 1 2004
n < Date.UTC(2007, 0, 1); // Jan 1 2007
},
"2006-2008": function (e, n, f, i) {
return n >= Date.UTC(2006, 0, 1) && // Jan 1 2006
n < Date.UTC(2009, 0, 1); // Jam 1 2009
},
"2008-2010": function (e, n, f, i) {
return n >= Date.UTC(2008, 0, 1) && // Jan 1 2006
n < Date.UTC(2011, 0, 1); // Jam 1 2009
},
"> 2010": function (e, n, f, i) {
return n >= Date.UTC(2010, 0, 1); // Jan 1 2010
}
},
currentDateColumn = 3,
filterFxn = {};
filterFxn[currentDateColumn] = dateFxns;
$('table').tablesorter({
widgets: ['zebra', 'filter'],
widgetOptions: {
filter_functions: filterFxn
}
});