使用 Render 函數建立自訂選項
這是 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 'Low'; } else if (row.salary <= 800000) { return 'Medium'; } else { return 'High'; } } } ], 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 'Low'; } else if (row.salary <= 800000) { return 'Medium'; } else { return 'High'; } } } ], layout: { top1: { searchPanes: { columns: [5] } } } });
除了上述程式碼外,還載入了以下 Javascript 程式庫檔案以供此範例使用
以下顯示的 HTML 是原始的 HTML 表格元素,在 DataTables 增強之前
此範例使用了一些額外的 CSS(超出從程式庫檔案載入的 CSS)來正確顯示表格。 以下顯示了所使用的額外 CSS
以下 CSS 程式庫檔案已載入以供此範例使用,以提供表格的樣式
此表格透過 Ajax 載入資料。 以下顯示已載入的最新資料。 當載入任何其他資料時,此資料將會自動更新。
以下顯示用於執行此表格伺服器端處理的腳本。 請注意,這只是一個使用 PHP 的範例腳本。伺服器端處理腳本可以使用任何語言編寫,使用 DataTables 文件中描述的協定。