Skip to content
Advertisement

Apply a condition on specific column data – jquery DataTable

Firstly, I have the following table:

The column which enclosed by red color display 2 types of account, the value 1= Free and value 2 = paid (free, paid accounts).

I want before rendering the data, apply a condition to change the 1 to free and 2 to paid.

that’s it.

Table initialization:

var dataTableY = $('#table').DataTable({
    serverSide: true,
    ajax: {
        url: 'directory/class/method'
    },
    processing: true,
    scrollY: 400,
    paging: true,
    info: true,
    select: {
        style: 'os'
    },
    pagingType: 'full_numbers',
    language: {
        url: 'DataTables/lang/english.json'
    }
});

Advertisement

Answer

Use a column renderer :

var table = $('#example').dataTable({
    //...
    columnDefs : [
        { targets : [4],
          render : function (data, type, row) {
             return data == '1' ? 'free' : 'paid'
          }
        }
   ]
})   

The render function will return 'free' if the column value is 1, otherwise 'paid'. You could use a switch if you have more values, or for example need to return a 'N/A' too.


    columnDefs : [
        { targets : [4],
          render : function (data, type, row) {
            switch(data) {
               case '1' : return 'free'; break;
               case '2' : return 'paid'; break;
               default  : return 'N/A';
            }
          }
        }
   ]
User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement