Options via Ajax and local

In the previous example we saw that if ajax is used to load data, the searchList is only shown for columns which have the options in the JSON data. Equally, we've also seen in the basic example that searchList can derive the list of options from the loaded data.

If you wish to mix the two (i.e. use load data for the options if they aren't specified in the JSON) you can do so with the ajaxOnly option of searchList. That is done in this example and you'll be able to note that while Position and Office have options loaded via Ajax (per the previous example), the other columns also have search lists and these are derived locally.

Name Position Office Extn. Start date Salary
Name Position Office Extn. Start date Salary
  • Javascript
  • HTML
  • CSS
  • Ajax
  • Server-side script
  • Comments

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

$('#example').DataTable({ ajax: '../data/options.json', columnControl: ['order', [{ extend: 'searchList', ajaxOnly: false }]], columns: [ { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: 'start_date' }, { data: 'salary' } ], ordering: { indicators: false, handler: false } });
new DataTable("#example", { ajax: '../data/options.json', columnControl: ['order', [{ extend: 'searchList', ajaxOnly: false }]], columns: [ { data: 'name' }, { data: 'position' }, { data: 'office' }, { data: 'extn' }, { data: 'start_date' }, { data: 'salary' } ], ordering: { indicators: false, handler: false } });

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.

      Other examples