下拉filterjquery数据表

这是我的代码:

$(document).ready(function() { /* Initialise the DataTable */ var oTable = $('#example').dataTable({ "oLanguage": { "sSearch": "Search all columns:" }, "iDisplayLength": 10, "bJQueryUI": true, "sPaginationType": "full_numbers", "bFilter": true, }); /* Add a select menu for each TH element in the table footer */ $("thead th").each( function ( i ) { this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) ); $('select', this).change( function () { oTable.fnFilter( $(this).val(), i ); } ); } ); } ); 

我正在使用jquery datatables插件,它的工作方式与此示例完全相同:

http://www.datatables.net/release-datatables/examples/api/multi_filter_select.html

我想要做的是,而不是每列的下拉列表,我只想在一个特定的列上下拉列表。

所以我认为我需要改变:

 $("thead th").each( function ( i ) { 

但我不知道该放什么。 任何帮助将非常感谢,提前感谢。

如果您只需要在一列上就能做到

 var indexOfMyCol = 2;//you want it on the third column $("thead th").each( function ( i ) { if(i === indexOfMyCol){ this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) ); $('select', this).change( function () { oTable.fnFilter( $(this).val(), i ); } ); } } ); 

您还可以创建自己的选择列表,并将其放置在表格外的任何位置。

   

您可以使用日期表列filter,请参阅http://jquery-datatables-column-filter.googlecode.com/svn/trunk/customFilters.html

它是数据表的二级插件。

约万

你可以使用columnfilter插件……

 $(document).ready(function(){ $('#example').dataTable() .columnFilter({ aoColumns: [ { type: "select", values: [ 'Gecko', 'Trident', 'KHTML', 'Misc', 'Presto', 'Webkit', 'Tasman'] }, { type: "text" }, null, { type: "number" }, { type: "select" } ] }); }); 

我认为像下面这样的事情可能会成功

 $("thead th").each( function ( i ) { if(i==1) { this.innerHTML = fnCreateSelect( oTable.fnGetColumnData(i) ); $('select', this).change( function () { oTable.fnFilter( $(this).val(), i ); } ); } } ); 

也许时间已经改变了,但是没有插件并使用dataTables 1.10.12和它的@api ,作为评论建议的人,你可以使用数组中基于零的索引整数来表示相应的表。 示例代码,重要位在下面的第2行。 我正在第4栏上搜索,这是coffeescript,但你明白了。

  $('#example').DataTable initComplete: -> @api().columns([3]).every -> column = this select = $('').appendTo($(column.header()).empty()).on('change', -> val = $.fn.dataTable.util.escapeRegex($(this).val()) column.search(val ? '^'+val+'$' : '', true, false).draw() return ) column.data().unique().sort().each (d, j) -> select.append '' return return return