2015-06-04 52 views
0

我使用DataTable(http://www.datatables.net)以獲得所需的功能,包括對錶格標題中的列進行排序和單獨搜索。初始化如下所示,返回API並實現搜索功能。如何在搜索功能正常時禁用特定列上的排序

$(「#表2」)。數據表()

現在問題是,當我要禁用複選框排序和我不得不使用下面的代碼行。 $('#table2').dataTable({ "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] } ] });

它確實對列應用排序禁用,但列內的搜索功能也不起作用。有沒有什麼辦法可以通過DataTable({something})中的任何參數來禁用第一列的排序,或者請幫助我結合(api & jquery object)方法以實現所需的功能。 $('#table2').DataTable(); $('#table2').dataTable();

<table class="table table-striped draggable sortable dataTable" id="table2"> 
<thead> 
    <tr> 
     <th class="text-center"> <input class="check_box_all no-sort" id="check_all" type="checkbox" title="Check All"></th> 
     <th class="text-center">Company Name </th> 
    </tr> 
</thead> 
<tbody> 
    <tr class="odd gradeX"> 
     <td class="text-center"><input type="checkbox" class="check_box"></td> 
     <td class="text-center">Med Assets Company</td> 
    </tr> 
</tbody> 

這個片段使得輸入字段表格標題搜索目的

$('#table2 thead th').slice(3).each(function() { 
    var title = $('#table2 thead th').eq($(this).index()).text(); 
     $(this).html('<input type="text" placeholder="' + title + '" />'); 
}); 

數據表初始化

var table = $('#table2').DataTable({ 
    "dom": 'C<"clear">lfrtip', 
    "sPaginationType": "full_numbers",}); 

應用搜索

var tableResult = table.columns().eq(0); 
if (tableResult !== null) { 
    tableResult.each(function (colIdx) { 
     $('input', table.column(colIdx).header()).on('keyup change', function() { 
      table 
        .column(colIdx) 
        .sort() 
        .search(this.value) 
        .draw(); 
     }); 
    }); 
} 

請檢查的jsfiddle當複選框被選中它完全搞砸 https://jsfiddle.net/sxgd0thm/

+0

請顯示您的html代碼。 –

+0

它的工作原理 - https://jsfiddle.net/skh73h1d/ –

+0

請檢查html是否提供,或者您可以訪問jsfiddle –

回答

0
$('#example').dataTable({ 
"aoColumnDefs": [ 
    { "bSearchable": true, "aTargets": [ 0,1,2,3,4,5 ] } 
] }); 

嘗試用 「bSearchable」 許用柱搜索

+0

搜索不使用此代碼,請你檢查我已經給出的jsfiddle並重新檢查一次。 –

0
$('#table2').dataTable({ 
    "dom": 'C<"clear">lfrtip', 
    "sPaginationType": "full_numbers", 
    "aoColumnDefs": [ 
     { "bSearchable": false, "aTargets": [ 0 ] }, 
     {"bSortable": false, "aTargets": [ 1 ]} 
    ]}); 

你可以嘗試用此