使用呈现函数创建自定义选项
这是适用于 DataTables 的 searchPanes 扩展。它允许基于列的值对结果进行过滤。
此示例演示了针对呈现的数据进行搜索。将 searchPanes.columns
属性设置为 5
,以便仅将薪资列显示为面板。
姓名 | 职位 | 办公室 | 分机号 | 开始日期 | 薪资 |
---|---|---|---|---|---|
姓名 | 职位 | 办公室 | 分机号 | 开始日期 | 薪资 |
- Javascript
- HTML
- CSS
- Ajax
- 服务器端脚本
- 评论
下面显示的 Javascript 用于初始化本示例中显示的表格
$('#example').DataTable({ ajax: '../resources/objects.json', columnDefs: [ { searchPanes: { show: true }, targets: [5] } ], columns: [ { data: null, render: function (data, type, row) { // 将名字和姓氏合并为一个表格字段 return data.first_name + ' ' + data.last_name; } }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: 'start_date' }, { data: 'salary', render: function (data, type, row) { if (type === 'sort' || type === 'type') { return row.salary; } if (row.salary <= 200000) { return '低'; } else if (row.salary <= 800000) { return '中等'; } else { return '高'; } } } ], layout: { top1: { searchPanes: { columns: [5] } } } });
new DataTable('#example', { ajax: '../resources/objects.json', columnDefs: [ { searchPanes: { show: true }, targets: [5] } ], columns: [ { data: null, render: function (data, type, row) { // 将名字和姓氏合并为一个表格字段 return data.first_name + ' ' + data.last_name; } }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: 'start_date' }, { data: 'salary', render: function (data, type, row) { if (type === 'sort' || type === 'type') { return row.salary; } if (row.salary <= 200000) { return '低'; } else if (row.salary <= 800000) { return '中等'; } else { return '高'; } } } ], layout: { top1: { searchPanes: { columns: [5] } } } });
除了上述代码外,还加载了以下 Javascript 库文件以用于此示例
下面显示的 HTML 是原始 HTML 表格元素,它尚未通过 DataTables 进行优化
此示例使用了库文件(如下所示)之外的少量附加 CSS,以便正确显示表格。下面显示了所使用的附加 CSS
加载以下 CSS 库文件,以便在示例中使用其为表格提供样式
此表通过 Ajax 加载数据。最新加载的数据显示在下方。此数据会随着加载任何其他数据自动更新。
用于对该表执行服务器端处理的脚本如下所示。请注意,这只是一个使用 PHP 的脚本示例。服务器端处理脚本可以用任何语言编写,使用DataTables 文档中描述的协议。