Csa*_*oth 2 jquery datatables twitter-bootstrap-3 datatables-1.10
我正在使用1.10.2 DataTables,并且我想利用columnFilter插件而不是手动添加一些东西。我正在使用带有数据表,jQuery 1.10.2,jQuery UI 1.10.3和bootstrap 3.1.1的bootstrap渲染器。这个特定的表不使用任何花哨的东西(没有固定的标题,没有固定的列,没有ColVis或ColReorder)。分页功能已开启。
<link rel="stylesheet" type="text/css" href="~/CSS/dataTables.bootstrap.css" />
<!-- stuff -->
<table id="reportTable" class="table table-condensed table-striped table-bordered">
<thead>
</thead>
<tbody>
</tbody>
</table>
<!-- stuff -->
<script type='text/javascript' src='~/Scripts/jquery.dataTables.js'></script>
<script type='text/javascript' src='~/Scripts/dataTables.bootstrap.js'></script>
<script type="text/javascript" src="~/Scripts/jquery.dataTables.columnFilter.js"></script>
Run Code Online (Sandbox Code Playgroud)
JavaScript:
vm.table = $('#reportTable').DataTable({
dom: 'rtipfl',
autoWidth: false,
info: true,
lengthChange: true,
lengthMenu: [ 10, 15, 20 ],
displayLength: 10,
pageLength: 10,
ordering: true,
orderMulti: true,
orderClasses: true,
order: [[ 2, "asc" ]],
paging: true,
pagingType: "full_numbers",
renderer: "bootstrap",
deferRender: true,
processing: true,
scrollX: false,
scrollY: false,
scrollCollapse: false,
searching: true,
columns: vm.columns,
columnDefs: vm.columnDefs,
data: vm.postingArray,
initComplete: function (settings, json) {
vm.attachTableEventHandlers();
}
});
Run Code Online (Sandbox Code Playgroud)
这是一张有22列的表格。我注意到的第一件事是columnFilter示例仅提及DataTables的小写初始化,例如:
$('#blabla').dataTable().columnFilter();
Run Code Online (Sandbox Code Playgroud)
如果我说
vm.table = $('#reportTable').DataTable({
...
}).columnFilter();
Run Code Online (Sandbox Code Playgroud)
我发胖了
"TypeError: $(...).DataTable(...).columnFilter is not a function
vm.table = $('#reportTable').DataTable({"
Run Code Online (Sandbox Code Playgroud)
如果我说
vm.table = $('#reportTable').DataTable({
...
});
$('#reportTable').columnFilter();
"TypeError: oTable.fnSettings is not a function
if (!oTable.fnSettings().oFeatures.bFilter)"
Run Code Online (Sandbox Code Playgroud)
如果我说
vm.table = $('#reportTable').DataTable({
...
});
$('#reportTable').dataTable().columnFilter();
Run Code Online (Sandbox Code Playgroud)
没有过滤器出现。
我究竟做错了什么?我应该如何初始化它?
我认为您不能将应用于columnFilter新的“ D” datables api,因为与.dataTable()返回jQuery对象的调用不同,新.DataTable调用返回了一个table对象。
您可以打补丁columnFilter以支持新的“ D” api
要么
使用我的 yadcf插件获取用于向表添加过滤器的数据表
请注意,yadcf支持新旧的datatable api,它具有10种diff'类型的过滤器和大量其他功能:)
| 归档时间: |
|
| 查看次数: |
5050 次 |
| 最近记录: |