jQuery DataTables的使用详解
jQuery DataTables是一款强大的表格插件,使得HTML表格变得更加强大和互动。它提供了丰富的API和可定制的选项来扩展和深度定制表格。下面是如何使用jQuery DataTables的完整攻略。
1. 引入jQuery和jQuery DataTables
首先,我们需要引入jQuery和DataTables,并确认它们已被正确加载。
<!-- 引入jQuery库 -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<!-- 引入jQuery DataTables库 -->
<link href="https://cdn.datatables.net/1.10.24/css/jquery.dataTables.min.css" rel="stylesheet">
<script src="https://cdn.datatables.net/1.10.24/js/jquery.dataTables.min.js"></script>
2. 创建一个HTML表格
我们需要一个HTML表格,来将jQuery DataTables应用到上面。
<table id="example" class="display">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
</tbody>
</table>
3. 在Javascript文件中初始化jQuery DataTables
在我们开始使用jQuery DataTables之前,我们必须通过jQuery对象初始化它。
$(document).ready(function() {
$('#example').DataTable();
});
这里"example"是HTML表格的ID。当我们调用Datatable函数时,它将自动应用到表格。
4. 切换分页和搜索功能
在默认情况下,jQuery DataTables提供了一些非常可用的功能,如搜索和分页功能。让我们使用下面的选项来启用/禁用这些功能。
$(document).ready(function() {
$('#example').DataTable({
paging: true, // 启用分页
searching: true // 启用搜索
});
});
5. 切换排序功能
我们可以使用"ordering"选项来启用/禁用数据排序功能。
$(document).ready(function() {
$('#example').DataTable({
paging: true, // 启用分页
searching: true, // 启用搜索
ordering: false // 禁用排序
});
});
6. 切换对列的排序功能
默认情况下,jQuery DataTables提供对每一列的排序功能。我们通过"orderable"选项来启用/禁用每列的排序功能。
$(document).ready(function() {
$('#example').DataTable({
paging: true, // 启用分页
searching: true, // 启用搜索
ordering: false, // 禁用排序
columnDefs: [{ // 列定义,为某些列指定更多的选项
targets: [0,1], // 应用于第一和第二列
orderable: false // 禁用对第一和第二列进行排序
}]
});
});
附录:示例
示例1:使用自定义筛选器
该示例展示了如何使用自定义筛选器选项来允许用户在表格中进行复杂的数据搜索操作。在这个例子中,我们创建了一个数字范围筛选器,可以让用户搜索收入在一定范围内的数据。
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var min = parseInt( $('#min').val(), 10 );
var max = parseInt( $('#max').val(), 10 );
var value = parseFloat( data[5] ) || 0;
if ( ( isNaN( min ) && isNaN( max ) ) ||
( isNaN( min ) && value <= max ) ||
( min <= value && isNaN( max ) ) ||
( min <= value && value <= max ) )
{
return true;
}
return false;
}
);
$(document).ready(function() {
var table = $('#example').DataTable();
// Event listener to the two range filtering inputs to redraw on input
$('#min, #max').keyup( function() {
table.draw();
} );
} );
示例2:使用服务器端数据
这个例子演示了如何使用jQuery DataTables与服务器端数据交互。我们添加了一个ajax选项来指定数据的URL。
$(document).ready(function() {
$('#example').DataTable({
"processing": true,
"serverSide": true,
"ajax": {
"url": "/api/data",
"type": "POST"
}
});
});
上述代码使用了POST方法向服务器请求数据,并将数据直接加载到表格上。在这种情况下,我们需要检查是否需要对此数据进行认证或授权。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Jquery Datatables的使用详解 - Python技术站