2013-09-05 69 views
8

Tôi muốn loại trừ một số cột nhất định khỏi lọc - giống như tôi có thể với sorder nhưng tôi không chắc chắn làm thế nào để làm điều đó với các widget, có cách nào dễ dàng để làm điều này?Tablesorter - Remove Filter From Columns

jQuery(document).ready(function($) { 

    $("#eventTable").tablesorter({ 
    widthFixed : true, 
    widgets: ["filter"], 

    widgetOptions : { 
     filter_childRows : false, 
     filter_hideFilters : false, 
     filter_ignoreCase : true, 
     filter_cssFilter : 'tablesorter-filter', 

     filter_functions : { 
     1 : function(e, n, f, i) { 
      return e === f; 
     } 
     } 
    } 
    }); 
}); 

Trả lời

18

Bạn có thể sử dụng tùy chọn tiêu đề hoặc thêm lớp "lọc-sai" vào thẻ TH cho cột đó.

Tùy chọn tiêu đề được ghi lại trong tablesorter documentation - nhấp vào "tiêu đề" trong cột thuộc tính của bảng cấu hình. Cú pháp để lựa chọn là:

headers: { 0: { filter: false} }

Sử dụng CSS sau đây nếu bạn không muốn hiển thị mặc định khuyết tật dạng bộ lọc:

.tablesorter thead .disabled {display: none}

10

Bạn có thể vô hiệu hóa bộ lọc và/hoặc sắp xếp cho một cột cụ thể bằng cách sử dụng:

<th data-sorter="false" data-filter="false"></th> 
+2

Tôi thích giải pháp này, nó khá dễ dàng. –

4

để tắt bộ lọc cho việc sử dụng cột cụ thể <th data-filter="false"></th>

để vô hiệu hóa loại cho cột cụ thể sử dụng <th data-sorter="false"></th>

kết hợp chúng để vô hiệu hóa cả hai. <th data-sorter="false" data-filter="false"></th>

điều này sẽ khiến lớp "bị tắt" sẽ được áp dụng cho hộp văn bản được sử dụng để lọc. Hộp văn bản sẽ chuyển sang màu xám. nếu bạn muốn ẩn hoàn toàn hộp văn bản, chỉ cần thêm

<style> 
    .tablesorter thead .disabled { 
     display:none; 
    } 
</style>