1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5 <link rel="shortcut icon" type="image/ico" href="http://www.datatables.net/media/images/favicon.ico" />
7 <title>DataTables example</title>
8 <style type="text/css" title="currentStyle">
9 @import "../../media/css/demo_page.css";
10 @import "../../media/css/demo_table.css";
12 <script type="text/javascript" language="javascript" src="../../media/js/jquery.js"></script>
13 <script type="text/javascript" language="javascript" src="../../media/js/jquery.dataTables.js"></script>
14 <script type="text/javascript" charset="utf-8">
15 function fnFilterGlobal ()
17 $('#example').dataTable().fnFilter(
18 $("#global_filter").val(),
20 $("#global_regex")[0].checked,
21 $("#global_smart")[0].checked
25 function fnFilterColumn ( i )
27 $('#example').dataTable().fnFilter(
28 $("#col"+(i+1)+"_filter").val(),
30 $("#col"+(i+1)+"_regex")[0].checked,
31 $("#col"+(i+1)+"_smart")[0].checked
35 $(document).ready(function() {
36 $('#example').dataTable();
38 $("#global_filter").keyup( fnFilterGlobal );
39 $("#global_regex").click( fnFilterGlobal );
40 $("#global_smart").click( fnFilterGlobal );
42 $("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
43 $("#col1_regex").click( function() { fnFilterColumn( 0 ); } );
44 $("#col1_smart").click( function() { fnFilterColumn( 0 ); } );
46 $("#col2_filter").keyup( function() { fnFilterColumn( 1 ); } );
47 $("#col2_regex").click( function() { fnFilterColumn( 1 ); } );
48 $("#col2_smart").click( function() { fnFilterColumn( 1 ); } );
50 $("#col3_filter").keyup( function() { fnFilterColumn( 2 ); } );
51 $("#col3_regex").click( function() { fnFilterColumn( 2 ); } );
52 $("#col3_smart").click( function() { fnFilterColumn( 2 ); } );
54 $("#col4_filter").keyup( function() { fnFilterColumn( 3 ); } );
55 $("#col4_regex").click( function() { fnFilterColumn( 3 ); } );
56 $("#col4_smart").click( function() { fnFilterColumn( 3 ); } );
58 $("#col5_filter").keyup( function() { fnFilterColumn( 4 ); } );
59 $("#col5_regex").click( function() { fnFilterColumn( 4 ); } );
60 $("#col5_smart").click( function() { fnFilterColumn( 4 ); } );
64 <body id="dt_example">
66 <div class="full_width big">
67 DataTables filtering API example
71 <p>Filtering a table is one of the most common user interactions with a DataTables table, and DataTables provides a number of methods for you to control this interaction. There is a global filter, and a filter for each individual column. The global filter acts on each column.</p>
72 <p>Each filter (global or column) can be marked as a regular expression (allowing you to create very complex interactions) and as a smart filter or not. When smart filtering is enabled on a particular filter, DataTables will modify the user input string to a complex regular expression which can make filtering more intuitive.</p>
73 <p>This example allows you to "play" with the various filtering options that DataTables provides.</p>
77 <table cellpadding="0" cellspacing="0" border="0" class="display">
82 <th>Treat as regex</th>
83 <th>Use smart filter</th>
87 <tr id="filter_global">
88 <td align="center">Global filtering</td>
89 <td align="center"><input type="text" name="global_filter" id="global_filter"></td>
90 <td align="center"><input type="checkbox" name="global_regex" id="global_regex" ></td>
91 <td align="center"><input type="checkbox" name="global_smart" id="global_smart" checked></td>
94 <td align="center">Column 1</td>
95 <td align="center"><input type="text" name="col1_filter" id="col1_filter"></td>
96 <td align="center"><input type="checkbox" name="col1_regex" id="col1_regex"></td>
97 <td align="center"><input type="checkbox" name="col1_smart" id="col1_smart" checked></td>
100 <td align="center">Column 2</td>
101 <td align="center"><input type="text" name="col2_filter" id="col2_filter"></td>
102 <td align="center"><input type="checkbox" name="col2_regex" id="col2_regex"></td>
103 <td align="center"><input type="checkbox" name="col2_smart" id="col2_smart" checked></td>
105 <tr id="filter_col3">
106 <td align="center">Column 3</td>
107 <td align="center"><input type="text" name="col3_filter" id="col3_filter"></td>
108 <td align="center"><input type="checkbox" name="col3_regex" id="col3_regex"></td>
109 <td align="center"><input type="checkbox" name="col3_smart" id="col3_smart" checked></td>
111 <tr id="filter_col4">
112 <td align="center">Column 4</td>
113 <td align="center"><input type="text" name="col4_filter" id="col4_filter"></td>
114 <td align="center"><input type="checkbox" name="col4_regex" id="col4_regex"></td>
115 <td align="center"><input type="checkbox" name="col4_smart" id="col4_smart" checked></td>
117 <tr id="filter_col5">
118 <td align="center">Column 5</td>
119 <td align="center"><input type="text" name="col5_filter" id="col5_filter"></td>
120 <td align="center"><input type="checkbox" name="col5_regex" id="col5_regex"></td>
121 <td align="center"><input type="checkbox" name="col5_smart" id="col5_smart" checked></td>
127 <table cellpadding="0" cellspacing="0" border="0" class="display" id="example">
130 <th>Rendering engine</th>
133 <th>Engine version</th>
143 <td class="center">4</td>
144 <td class="center">X</td>
151 <td class="center">5</td>
152 <td class="center">C</td>
159 <td class="center">5,5</td>
160 <td class="center">A</td>
167 <td class="center">6</td>
168 <td class="center">A</td>
172 <td>Internet Explorer 7</td>
174 <td class="center">7</td>
175 <td class="center">A</td>
179 <td>AOL browser (AOL desktop)</td>
181 <td class="center">6</td>
182 <td class="center">A</td>
187 <td>Win 98+ / OSX.2+</td>
188 <td class="center">1,7</td>
189 <td class="center">A</td>
194 <td>Win 98+ / OSX.2+</td>
195 <td class="center">1,8</td>
196 <td class="center">A</td>
201 <td>Win 98+ / OSX.2+</td>
202 <td class="center">1,8</td>
203 <td class="center">A</td>
208 <td>Win 2k+ / OSX.3+</td>
209 <td class="center">1,9</td>
210 <td class="center">A</td>
216 <td class="center">1,8</td>
217 <td class="center">A</td>
223 <td class="center">1,8</td>
224 <td class="center">A</td>
228 <td>Netscape 7.2</td>
229 <td>Win 95+ / Mac OS 8.6-9.2</td>
230 <td class="center">1.7</td>
231 <td class="center">A</td>
235 <td>Netscape Browser 8</td>
237 <td class="center">1,7</td>
238 <td class="center">A</td>
242 <td>Netscape Navigator 9</td>
243 <td>Win 98+ / OSX.2+</td>
244 <td class="center">1,8</td>
245 <td class="center">A</td>
250 <td>Win 95+ / OSX.1+</td>
251 <td class="center">1</td>
252 <td class="center">A</td>
257 <td>Win 95+ / OSX.1+</td>
258 <td class="center">1,1</td>
259 <td class="center">A</td>
264 <td>Win 95+ / OSX.1+</td>
265 <td class="center">1,2</td>
266 <td class="center">A</td>
271 <td>Win 95+ / OSX.1+</td>
272 <td class="center">1,3</td>
273 <td class="center">A</td>
278 <td>Win 95+ / OSX.1+</td>
279 <td class="center">1,4</td>
280 <td class="center">A</td>
285 <td>Win 95+ / OSX.1+</td>
286 <td class="center">1,5</td>
287 <td class="center">A</td>
292 <td>Win 95+ / OSX.1+</td>
293 <td class="center">1,6</td>
294 <td class="center">A</td>
299 <td>Win 98+ / OSX.1+</td>
300 <td class="center">1,7</td>
301 <td class="center">A</td>
306 <td>Win 98+ / OSX.1+</td>
307 <td class="center">1,8</td>
308 <td class="center">A</td>
312 <td>Seamonkey 1.1</td>
313 <td>Win 98+ / OSX.2+</td>
314 <td class="center">1,8</td>
315 <td class="center">A</td>
319 <td>Epiphany 2.20</td>
321 <td class="center">1,8</td>
322 <td class="center">A</td>
328 <td class="center">125,5</td>
329 <td class="center">A</td>
335 <td class="center">312,8</td>
336 <td class="center">A</td>
342 <td class="center">419,3</td>
343 <td class="center">A</td>
349 <td class="center">522,1</td>
350 <td class="center">A</td>
356 <td class="center">420</td>
357 <td class="center">A</td>
361 <td>iPod Touch / iPhone</td>
363 <td class="center">420,1</td>
364 <td class="center">A</td>
370 <td class="center">413</td>
371 <td class="center">A</td>
376 <td>Win 95+ / OSX.1+</td>
377 <td class="center">-</td>
378 <td class="center">A</td>
383 <td>Win 95+ / OSX.2+</td>
384 <td class="center">-</td>
385 <td class="center">A</td>
390 <td>Win 95+ / OSX.2+</td>
391 <td class="center">-</td>
392 <td class="center">A</td>
397 <td>Win 95+ / OSX.2+</td>
398 <td class="center">-</td>
399 <td class="center">A</td>
404 <td>Win 95+ / OSX.3+</td>
405 <td class="center">-</td>
406 <td class="center">A</td>
411 <td>Win 88+ / OSX.3+</td>
412 <td class="center">-</td>
413 <td class="center">A</td>
418 <td>Win 88+ / OSX.3+</td>
419 <td class="center">-</td>
420 <td class="center">A</td>
424 <td>Opera for Wii</td>
426 <td class="center">-</td>
427 <td class="center">A</td>
433 <td class="center">-</td>
434 <td class="center">A</td>
438 <td>Nintendo DS browser</td>
440 <td class="center">8,5</td>
441 <td class="center">C/A<sup>1</sup></td>
445 <td>Konqureror 3.1</td>
447 <td class="center">3,1</td>
448 <td class="center">C</td>
452 <td>Konqureror 3.3</td>
454 <td class="center">3,3</td>
455 <td class="center">A</td>
459 <td>Konqureror 3.5</td>
461 <td class="center">3,5</td>
462 <td class="center">A</td>
466 <td>Internet Explorer 4.5</td>
468 <td class="center">-</td>
469 <td class="center">X</td>
473 <td>Internet Explorer 5.1</td>
474 <td>Mac OS 7.6-9</td>
475 <td class="center">1</td>
476 <td class="center">C</td>
480 <td>Internet Explorer 5.2</td>
482 <td class="center">1</td>
483 <td class="center">C</td>
487 <td>NetFront 3.1</td>
488 <td>Embedded devices</td>
489 <td class="center">-</td>
490 <td class="center">C</td>
494 <td>NetFront 3.4</td>
495 <td>Embedded devices</td>
496 <td class="center">-</td>
497 <td class="center">A</td>
502 <td>Embedded devices</td>
503 <td class="center">-</td>
504 <td class="center">X</td>
510 <td class="center">-</td>
511 <td class="center">X</td>
517 <td class="center">-</td>
518 <td class="center">X</td>
523 <td>Windows Mobile 6</td>
524 <td class="center">-</td>
525 <td class="center">C</td>
531 <td class="center">-</td>
532 <td class="center">C</td>
535 <td>Other browsers</td>
538 <td class="center">-</td>
539 <td class="center">U</td>
544 <th>Rendering engine</th>
547 <th>Engine version</th>
553 <div class="spacer"></div>
556 <h1>Initialisation code</h1>
557 <pre class="brush: js;">function fnFilterGlobal ()
559 $('#example').dataTable().fnFilter(
560 $("#global_filter").val(),
562 $("#global_regex")[0].checked,
563 $("#global_smart")[0].checked
567 function fnFilterColumn ( i )
569 $('#example').dataTable().fnFilter(
570 $("#col"+(i+1)+"_filter").val(),
572 $("#col"+(i+1)+"_regex")[0].checked,
573 $("#col"+(i+1)+"_smart")[0].checked
577 $(document).ready(function() {
578 $('#example').dataTable();
580 $("#global_filter").keyup( fnFilterGlobal );
581 $("#global_regex").click( fnFilterGlobal );
582 $("#global_smart").click( fnFilterGlobal );
584 $("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
585 $("#col1_regex").click( function() { fnFilterColumn( 0 ); } );
586 $("#col1_smart").click( function() { fnFilterColumn( 0 ); } );
588 // ... etc for the other four columns
590 <style type="text/css">
591 @import "../examples_support/syntax/css/shCore.css";
593 <script type="text/javascript" language="javascript" src="../examples_support/syntax/js/shCore.js"></script>
596 <h1>Other examples</h1>
597 <div class="demo_links">
598 <h2>Basic initialisation</h2>
600 <li><a href="../basic_init/zero_config.html">Zero configuration</a></li>
601 <li><a href="../basic_init/filter_only.html">Feature enablement</a></li>
602 <li><a href="../basic_init/table_sorting.html">Sorting data</a></li>
603 <li><a href="../basic_init/multi_col_sort.html">Multi-column sorting</a></li>
604 <li><a href="../basic_init/multiple_tables.html">Multiple tables</a></li>
605 <li><a href="../basic_init/hidden_columns.html">Hidden columns</a></li>
606 <li><a href="../basic_init/complex_header.html">Complex headers - grouping with colspan</a></li>
607 <li><a href="../basic_init/dom.html">DOM positioning</a></li>
608 <li><a href="../basic_init/flexible_width.html">Flexible table width</a></li>
609 <li><a href="../basic_init/state_save.html">State saving</a></li>
610 <li><a href="../basic_init/alt_pagination.html">Alternative pagination styles</a></li>
612 <a href="../basic_init/scroll_x.html">Horizontal</a> /
613 <a href="../basic_init/scroll_y.html">Vertical</a> /
614 <a href="../basic_init/scroll_xy.html">Both</a> /
615 <a href="../basic_init/scroll_y_theme.html">Themed</a> /
616 <a href="../basic_init/scroll_y_infinite.html">Infinite</a>
618 <li><a href="../basic_init/language.html">Change language information (internationalisation)</a></li>
619 <li><a href="../basic_init/themes.html">ThemeRoller themes (Smoothness)</a></li>
622 <h2>Advanced initialisation</h2>
625 <a href="../advanced_init/events_live.html">Live events</a> /
626 <a href="../advanced_init/events_pre_init.html">Pre-init</a> /
627 <a href="../advanced_init/events_post_init.html">Post-init</a>
629 <li><a href="../advanced_init/column_render.html">Column rendering</a></li>
630 <li><a href="../advanced_init/html_sort.html">Sorting without HTML tags</a></li>
631 <li><a href="../advanced_init/dom_multiple_elements.html">Multiple table controls (sDom)</a></li>
632 <li><a href="../advanced_init/length_menu.html">Defining length menu options</a></li>
633 <li><a href="../advanced_init/complex_header.html">Complex headers and hidden columns</a></li>
634 <li><a href="../advanced_init/dom_toolbar.html">Custom toolbar (element) around table</a></li>
635 <li><a href="../advanced_init/highlight.html">Row highlighting with CSS</a></li>
636 <li><a href="../advanced_init/row_grouping.html">Row grouping</a></li>
637 <li><a href="../advanced_init/row_callback.html">Row callback</a></li>
638 <li><a href="../advanced_init/footer_callback.html">Footer callback</a></li>
639 <li><a href="../advanced_init/sorting_control.html">Control sorting direction of columns</a></li>
640 <li><a href="../advanced_init/language_file.html">Change language information from a file (internationalisation)</a></li>
641 <li><a href="../advanced_init/defaults.html">Setting defaults</a></li>
642 <li><a href="../advanced_init/localstorage.html">State saving with localStorage</a></li>
643 <li><a href="../advanced_init/dt_events.html">Custom events</a></li>
648 <li><a href="../api/add_row.html">Dynamically add a new row</a></li>
649 <li><a href="../api/multi_filter.html">Individual column filtering (using "input" elements)</a></li>
650 <li><a href="../api/multi_filter_select.html">Individual column filtering (using "select" elements)</a></li>
651 <li><a href="../api/highlight.html">Highlight rows and columns</a></li>
652 <li><a href="../api/row_details.html">Show and hide details about a particular record</a></li>
653 <li><a href="../api/select_row.html">User selectable rows (multiple rows)</a></li>
654 <li><a href="../api/select_single_row.html">User selectable rows (single row) and delete rows</a></li>
655 <li><a href="../api/editable.html">Editable rows (with jEditable)</a></li>
656 <li><a href="../api/form.html">Submit form with elements in table</a></li>
657 <li><a href="../api/counter_column.html">Index column (static number column)</a></li>
658 <li><a href="../api/show_hide.html">Show and hide columns dynamically</a></li>
659 <li><a href="../api/api_in_init.html">API function use in initialisation object (callback)</a></li>
660 <li><a href="../api/tabs_and_scrolling.html">DataTables scrolling and tabs</a></li>
661 <li><a href="../api/regex.html">Regular expression filtering</a></li>
665 <div class="demo_links">
666 <h2>Data sources</h2>
668 <li><a href="../data_sources/dom.html">DOM</a></li>
669 <li><a href="../data_sources/js_array.html">Javascript array</a></li>
670 <li><a href="../data_sources/ajax.html">Ajax source</a></li>
671 <li><a href="../data_sources/server_side.html">Server side processing</a></li>
674 <h2>Server-side processing</h2>
676 <li><a href="../server_side/server_side.html">Obtain server-side data</a></li>
677 <li><a href="../server_side/custom_vars.html">Add extra HTTP variables</a></li>
678 <li><a href="../server_side/post.html">Use HTTP POST</a></li>
679 <li><a href="../server_side/ids.html">Automatic addition of IDs and classes to rows</a></li>
680 <li><a href="../server_side/object_data.html">Reading table data from objects</a></li>
681 <li><a href="../server_side/row_details.html">Show and hide details about a particular record</a></li>
682 <li><a href="../server_side/select_rows.html">User selectable rows (multiple rows)</a></li>
683 <li><a href="../server_side/jsonp.html">JSONP for a cross domain data source</a></li>
684 <li><a href="../server_side/editable.html">jEditable integration with DataTables</a></li>
685 <li><a href="../server_side/defer_loading.html">Deferred loading of Ajax data</a></li>
686 <li><a href="../server_side/pipeline.html">Pipelining data (reduce Ajax calls for paging)</a></li>
689 <h2>Ajax data source</h2>
691 <li><a href="../ajax/ajax.html">Ajax sourced data (array of arrays)</a></li>
692 <li><a href="../ajax/objects.html">Ajax sourced data (array of objects)</a></li>
693 <li><a href="../ajax/defer_render.html">Deferred DOM creation for extra speed</a></li>
694 <li><a href="../ajax/null_data_source.html">Empty data source columns</a></li>
695 <li><a href="../ajax/custom_data_property.html">Use a data source other than aaData (the default)</a></li>
696 <li><a href="../ajax/objects_subarrays.html">Read column data from sub-arrays</a></li>
697 <li><a href="../ajax/deep.html">Read column data from deeply nested properties</a></li>
702 <li><a href="../plug-ins/plugin_api.html">Add custom API functions</a></li>
703 <li><a href="../plug-ins/sorting_plugin.html">Sorting and automatic type detection</a></li>
704 <li><a href="../plug-ins/sorting_sType.html">Sorting without automatic type detection</a></li>
705 <li><a href="../plug-ins/paging_plugin.html">Custom pagination controls</a></li>
706 <li><a href="../plug-ins/range_filtering.html">Range filtering / custom filtering</a></li>
707 <li><a href="../plug-ins/dom_sort.html">Live DOM sorting</a></li>
708 <li><a href="../plug-ins/html_sort.html">Automatic HTML type detection</a></li>
713 <div id="footer" class="clear" style="text-align:center;">
715 Please refer to the <a href="http://www.datatables.net/usage">DataTables documentation</a> for full information about its API properties and methods.<br>
716 Additionally, there are a wide range of <a href="http://www.datatables.net/extras">extras</a> and <a href="http://www.datatables.net/plug-ins">plug-ins</a> which extend the capabilities of DataTables.
719 <span style="font-size:10px;">
720 DataTables designed and created by <a href="http://www.sprymedia.co.uk">Allan Jardine</a> © 2007-2011<br>
721 DataTables is dual licensed under the <a href="http://www.datatables.net/license_gpl2">GPL v2 license</a> or a <a href="http://www.datatables.net/license_bsd">BSD (3-point) license</a>.