DataTables example - HTML5 data-* attributes

DataTables can use different data for different actions (display, ordering and searcgubg) 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 (/m) the column will correctly order numerically as the data-sort / data-order attribute is set on the column with plain numeric data.

Name Position Office Age Start date Salary
Name Position Office Age Start date Salary
T. Nixon System Architect Edinburgh 61 2011/04/25 $3,120/m
G. Winters Director Edinburgh 63 2011/07/25 $5,300/m
A. Cox Technical Author San Francisco 66 2009/01/12 $4,800/m
C. Kelly Javascript Developer Edinburgh 22 2012/03/29 $3,600/m
J. Elliott Financial Controller Edinburgh 33 2008/11/28 $5,300/m
B. Williamson Integration Specialist New York 61 2012/12/02 $4,525/m
H. Chandler Sales Assistant San Francisco 59 2012/08/06 $4,080/m
R. Davidson Integration Specialist Edinburgh 55 2010/10/14 $6,730/m
C. Hurst Javascript Developer San Francisco 39 2009/09/15 $5,000/m
S. Frost Software Engineer Edinburgh 23 2008/12/13 $3,600/m
J. Gaines System Architect London 30 2008/12/19 $5,000/m
Q. Flynn Financial Controller Edinburgh 22 2013/03/03 $4,200/m
C. Marshall Regional Director San Francisco 36 2008/10/16 $5,300/m
H. Kennedy Senior Marketing Designer London 43 2012/12/18 $4,800/m
T. Fitzpatrick Regional Director London 19 2010/03/17 $2,875/m
M. Silva Senior Marketing Designer London 66 2012/11/27 $3,750/m
P. Byrd Javascript Developer New York 64 2010/06/09 $5,000/m
G. Little Systems Administrator New York 59 2009/04/10 $3,120/m
B. Greer Software Engineer London 41 2012/10/13 $3,120/m
D. Rios System Architect Edinburgh 35 2012/09/26 $4,200/m
J. Caldwell Financial Controller New York 30 2011/09/03 $4,965/m
Y. Berry System Architect New York 40 2009/06/25 $3,600/m
C. Vance Technical Author New York 21 2011/12/12 $4,965/m
D. Wilder Sales Assistant Edinburgh 23 2010/09/20 $4,965/m
A. Ramos System Architect London 36 2009/10/09 $2,875/m
G. Joyce Developer Edinburgh 42 2010/12/22 $4,525/m
J. Chang Regional Director London 28 2010/11/14 $4,080/m
B. Wagner Software Engineer San Francisco 18 2011/06/07 $3,750/m
E. Grimes Software Engineer San Francisco 48 2010/03/11 $2,875/m
R. Chavez Director Edinburgh 20 2011/08/14 $3,600/m
M. House Integration Specialist Edinburgh 37 2011/06/02 $3,750/m
S. Burks Developer London 53 2009/10/22 $2,875/m
P. Bartlett Technical Author London 27 2011/05/07 $6,730/m
G. Cortez Technical Author San Francisco 22 2008/10/26 $6,730/m
M. Mccray Integration Specialist Edinburgh 46 2011/03/09 $4,080/m
U. Butler Senior Marketing Designer San Francisco 47 2009/12/09 $3,750/m
H. Hatfield Financial Controller San Francisco 51 2008/12/16 $4,080/m
H. Fuentes Financial Controller San Francisco 41 2010/02/12 $4,200/m
V. Harrell System Architect San Francisco 62 2009/02/14 $4,965/m
T. Mooney Financial Controller London 37 2008/12/11 $4,200/m
J. Bradshaw Director New York 65 2008/09/26 $5,000/m
M. Weiss Support Engineer Edinburgh 64 2011/02/03 $4,965/m
B. Nash Software Engineer London 38 2011/05/03 $4,200/m
O. Jackson Support Engineer Edinburgh 37 2009/08/19 $3,600/m
T. Walton Developer New York 61 2013/08/11 $3,600/m
F. Camacho Support Engineer San Francisco 47 2009/07/07 $4,800/m
E. Baldwin Data Coordinator Edinburgh 64 2012/04/09 $6,730/m
Z. Frank Software Engineer New York 63 2010/01/04 $4,800/m
Z. Serrano Software Engineer San Francisco 56 2012/06/01 $5,300/m
J. Acosta Javascript Developer Edinburgh 43 2013/02/01 $2,875/m
C. Stevens Sales Assistant New York 46 2011/12/06 $4,800/m
H. Butler Director London 47 2011/03/21 $4,080/m
L. Greer Systems Administrator London 21 2009/02/27 $3,120/m
J. Alexander Developer San Francisco 30 2010/07/14 $5,300/m
S. Decker Regional Director Edinburgh 51 2008/11/13 $5,300/m
M. Bruce Javascript Developer Edinburgh 29 2011/06/27 $4,080/m
D. Snider System Architect New York 27 2011/01/25 $3,120/m

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.