DataTables example HTML5 data-* attributes - cell data

DataTables can use different data for different actions (display, ordering and searching) which can be immensely powerful for transforming data in the display to be intuitive for the end user, while using different, or more complex data, for other actions. For example, if a table contains a formatted telephone number in the format xxx-xxxx, intuitively a user might search for the number but without a dash. Using orthogonal data for searching allows both forms of the telephone number to be used, while only the nicely formatted number is displayed in the table.

One method in which DataTables can obtain this orthogonal data for its different actions is through custom HTML5 data attributes. DataTables will automatically detect four different attributes on the HTML elements:

  • data-sort or data-order - for ordering data
  • data-filter or data-search - for search data

This example shows the use of data-sort and data-filter attributes. In this case the first column has been formatted so the first name has abbreviated, but the full name is still searchable (search for "Bruno" for example). Additionally, although the last column contains non-numeric data in it, the column will correctly order numerically as the data-sort / data-order attribute is set on the column with plain numeric data.

NamePositionOfficeAgeStart dateSalary
NamePositionOfficeAgeStart dateSalary
T. NixonSystem ArchitectEdinburgh61Mon 25th Apr 11$320,800/y
G. WintersAccountantTokyo63Mon 25th Jul 11$170,750/y
A. CoxJunior Technical AuthorSan Francisco66Mon 12th Jan 09$86,000/y
C. KellySenior Javascript DeveloperEdinburgh22Thu 29th Mar 12$433,060/y
A. SatouAccountantTokyo33Fri 28th Nov 08$162,700/y
B. WilliamsonIntegration SpecialistNew York61Sun 2nd Dec 12$372,000/y
H. ChandlerSales AssistantSan Francisco59Mon 6th Aug 12$137,500/y
R. DavidsonIntegration SpecialistTokyo55Thu 14th Oct 10$327,900/y
C. HurstJavascript DeveloperSan Francisco39Tue 15th Sep 09$205,500/y
S. FrostSoftware EngineerEdinburgh23Sat 13th Dec 08$103,600/y
J. GainesOffice ManagerLondon30Fri 19th Dec 08$90,560/y
Q. FlynnSupport LeadEdinburgh22Sun 3rd Mar 13$342,000/y
C. MarshallRegional DirectorSan Francisco36Thu 16th Oct 08$470,600/y
H. KennedySenior Marketing DesignerLondon43Tue 18th Dec 12$313,500/y
T. FitzpatrickRegional DirectorLondon19Wed 17th Mar 10$385,750/y
M. SilvaMarketing DesignerLondon66Tue 27th Nov 12$198,500/y
P. ByrdChief Financial Officer (CFO)New York64Wed 9th Jun 10$725,000/y
G. LittleSystems AdministratorNew York59Fri 10th Apr 09$237,500/y
B. GreerSoftware EngineerLondon41Sat 13th Oct 12$132,000/y
D. RiosPersonnel LeadEdinburgh35Wed 26th Sep 12$217,500/y
J. CaldwellDevelopment LeadNew York30Sat 3rd Sep 11$345,000/y
Y. BerryChief Marketing Officer (CMO)New York40Thu 25th Jun 09$675,000/y
C. VancePre-Sales SupportNew York21Mon 12th Dec 11$106,450/y
D. WilderSales AssistantSidney23Mon 20th Sep 10$85,600/y
A. RamosChief Executive Officer (CEO)London47Fri 9th Oct 09$1,200,000/y
G. JoyceDeveloperEdinburgh42Wed 22nd Dec 10$92,575/y
J. ChangRegional DirectorSingapore28Sun 14th Nov 10$357,650/y
B. WagnerSoftware EngineerSan Francisco28Tue 7th Jun 11$206,850/y
F. GreenChief Operating Officer (COO)San Francisco48Thu 11th Mar 10$850,000/y
S. ItouRegional MarketingTokyo20Sun 14th Aug 11$163,000/y
M. HouseIntegration SpecialistSidney37Thu 2nd Jun 11$95,400/y
S. BurksDeveloperLondon53Thu 22nd Oct 09$114,500/y
P. BartlettTechnical AuthorLondon27Sat 7th May 11$145,000/y
G. CortezTeam LeaderSan Francisco22Sun 26th Oct 08$235,500/y
M. MccrayPost-Sales supportEdinburgh46Wed 9th Mar 11$324,050/y
U. ButlerMarketing DesignerSan Francisco47Wed 9th Dec 09$85,675/y
H. HatfieldOffice ManagerSan Francisco51Tue 16th Dec 08$164,500/y
H. FuentesSecretarySan Francisco41Fri 12th Feb 10$109,850/y
V. HarrellFinancial ControllerSan Francisco62Sat 14th Feb 09$452,500/y
T. MooneyOffice ManagerLondon37Thu 11th Dec 08$136,200/y
J. BradshawDirectorNew York65Fri 26th Sep 08$645,750/y
O. LiangSupport EngineerSingapore64Thu 3rd Feb 11$234,500/y
B. NashSoftware EngineerLondon38Tue 3rd May 11$163,500/y
S. YamamotoSupport EngineerTokyo37Wed 19th Aug 09$139,575/y
T. WaltonDeveloperNew York61Sun 11th Aug 13$98,540/y
F. CamachoSupport EngineerSan Francisco47Tue 7th Jul 09$87,500/y
S. BaldwinData CoordinatorSingapore64Mon 9th Apr 12$138,575/y
Z. FrankSoftware EngineerNew York63Mon 4th Jan 10$125,250/y
Z. SerranoSoftware EngineerSan Francisco56Fri 1st Jun 12$115,000/y
J. AcostaJunior Javascript DeveloperEdinburgh43Fri 1st Feb 13$75,650/y
C. StevensSales AssistantNew York46Tue 6th Dec 11$145,600/y
H. ButlerRegional DirectorLondon47Mon 21st Mar 11$356,250/y
L. GreerSystems AdministratorLondon21Fri 27th Feb 09$103,500/y
J. AlexanderDeveloperSan Francisco30Wed 14th Jul 10$86,500/y
S. DeckerRegional DirectorEdinburgh51Thu 13th Nov 08$183,000/y
M. BruceJavascript DeveloperSingapore29Mon 27th Jun 11$183,000/y
D. SniderCustomer SupportNew York27Tue 25th Jan 11$112,000/y

The Javascript shown below is used to initialise the table shown in this example:

$(document).ready(function() { $('#example').DataTable(); } );

In addition to the above code, the following Javascript library files are loaded for use in this example:

The HTML shown below is the raw HTML table element, before it has been enhanced by DataTables:

This example uses a little bit of additional CSS beyond what is loaded from the library files (below), in order to correctly display the table. The additional CSS used is shown below:

The following CSS library files are loaded for use in this example to provide the styling of the table:

This table loads data by Ajax. The latest data that has been loaded is shown below. This data will update automatically as any additional data is loaded.

The script used to perform the server-side processing for this table is shown below. Please note that this is just an example script using PHP. Server-side processing scripts can be written in any language, using the protocol described in the DataTables documentation.