2016-01-15 255 views
0

我有一個tablesorter,有2個過濾器列。第一個過濾器作爲下拉菜單工作,目前沒有問題。第二個過濾器旨在成爲一個全表搜索和過濾器機制。Tablesorter自定義過濾器功能 - 全表過濾器

也就是說,即使它與計算機列相關,它應該返回結果子行以及 enter image description here

計算機過濾器應應對所有的子行。例如,如果我搜索了z840,,則應該只顯示帶有型號z840的計算機。

但是,我必須要求頂部的軌距定製的二次過濾機制,可以作爲一個過濾器工作組

但是,如果我在一個工作組正在過濾,並使用計算機過濾它會忽略自定義隱藏行,並對錶中的任何行進行搜索。 (子行查找工作正常)。

我的問題是,有沒有辦法覆蓋過濾器的功能,忽略已經滿足一些條件IE任何行:$(row).hasClass('hide')

我一直在使用filter_functions嘗試,但每次的結果結束了對搜索計算機名稱只有

我使用Jinja模板,所以它有點難以得到小提琴和運行,但這裏是一個示例。

http://jsfiddle.net/brianz820/856bzzeL/813/

排序wg02(在頂部,沒有結果),然後使用所述計算機過濾器來搜索比方說,3.3。沒有結果顯示,但是一旦您刪除搜索,原始工作組過濾器將被刪除。

在我的製作副本上,即使鍵入3.3,也會返回任何工作組的結果,而忽略過濾器。

可能有很多對小提琴無關的代碼,只是想獲得一個工作版本升級

感謝您的閱讀,目標維持自由形式的孩子搜索和過濾的過濾器的選擇,但保持外部隱藏的行。

如果有更多需要的信息,請讓我知道

+0

您能否在演示中提供更多行並解釋「類型」過濾器應該定位的內容。 – Mottie

+0

嗨@Mottie,謝謝你的回覆我用更多的數據更新了小提琴。 http://jsfiddle.net/856bzzeL/821/在現實中,我正在使用模板引擎。我還在All的標籤中添加了。 – Busturdust

回答

1

我不能完全肯定,如果這是你的意思,但hideRows功能可以通過使用過濾器窗口小部件(demo)被簡化:

function hideRows() { 
    var $table = $('.tablesorter'), 
    filters = $.tablesorter.getFilters($table); 
    filters[2] = selected === 'All' ? '' : selected; 
    $.tablesorter.setFilters($table, filters); 
} 
+0

我給它一個鏡頭,謝謝。我真正想要的是'wg01,wg02'按鈕即使在搜索框中工作時也會保留。 – Busturdust

+0

它們將保留,除非用戶按下過濾器重置按鈕。然後可以隨時調用hideRows功能將該過濾器添加回去..它不會干擾其他過濾器設置。 – Mottie

+0

謝謝,我會回頭看看它。謝謝Mottie! – Busturdust