2012-10-23 94 views
2

我想創建一個數據表,在其標題上有下拉列表框,根據框中選定的列過濾要顯示的行。我修改這裏的例子column filtering example在頭Jquery數據表下拉篩選器的標題排序

/* Add a select menu for each TH element in the table footer */ 
    // $("tfoot th").each(function (i) { 
     $("thead th").each(function (i) { 
     ... 

它工作正常,但是當我點擊下拉列表框中執行排序,以顯示下拉列表框。當我在下拉列表上執行操作時,是否可以禁用排序,並且當單擊單元格中不屬於下拉列表的任何位置時,只是觸發排序。

謝謝。

回答

2
$("thead th").each(function (i) { 
    this.innerHTML = fnCreateSelect(oTable.fnGetColumnData(i)); 
    $('select', this).change(function() { 
     oTable.fnFilter($(this).val(), i); 
    }); 
    $('select', this).click(function (event) { 
     event.stopPropagation(); 
    }); 
}); 
0

不要處理選擇的onChange事件或刪除排序調用。我相信你可以在單元格中綁定點擊事件。如果沒有,請格式化表格以在每個單元中包含一個錨點標記,以便處理點擊事件。