我有一个启用了分页功能的DataTable,我需要禁用此设置并通过按下按钮显示没有分页器的所有结果。
我正在尝试访问已定义的设置,将分页更改为false,并重绘表格,但它不起作用。我搜索并尝试了类似的论坛帖子但没有成功。
知道如何实现这一目标?
Here's a demo使用我的无效代码
HTML:
<div id="main_wrapper">
<button class="form_button destroy_pager" type="button" onclick="" title="Destroy pager">Destroy pager</button>
<table id="example" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<th>Column 1</th>
<th>Column 2</th>
<th>Column 3</th>
<th>Column 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
<td>Data 3</td>
<td>Data 4</td>
</tr>
</tbody>
</table>
</div>
jQuery的:
$(document).ready(function() {
var oTable = $('#example').DataTable({
'bPaginate': true,
'iDisplayLength': 5
});
$('button.destroy_pager').on('click', function() {
var oSettings = oTable.settings;
oSettings.bPaginate = false;
oTable.draw();
});
});
编辑:我需要在初始化DataTable时启用寻呼机。问题是按下按钮后我必须禁用它。
提前致谢
答案 0 :(得分:4)
您应该在点击按钮时将bPaginate
选项设置为false
来销毁并重新启动数据表
$(document).ready(function() {
var table = $('#example');
var tableOptions = {
'bPaginate': true,
'iDisplayLength': 5
};
table.DataTable(tableOptions);
$('button.destroy_pager').on('click', function() {
table.DataTable().destroy()
tableOptions.bPaginate = false;
table.DataTable(tableOptions);
});
});
答案 1 :(得分:0)
使用sDom
选项。试试sDom: 'ft'
选项。这对我有用。
看看这里:http://datatables.net/usage/options#sDom
答案 2 :(得分:-1)