I'm using DataTable 1.10.9 (from https://datatables.net). Columns for the datatable are defined at the initialization step in javascript and each column has a unique name, e.g.:
var table = $('#example').DataTable({
columns: [
{ name: 'first-name' },
{ name: 'last-name' },
{ name: 'position' },
{ name: 'location' },
{ name: 'salary' }
]
});
I know I can get the column from the table by the name I've given it, but I can't seem to find how to find a column's name from the column object. (I'm hoping it's possible with the current state of the component.) For example:
table.columns().every(function() {
//I'd want to see what the name of this column is, something like:
console.log(this.name()); //will throw an exception since no such function exists
//or
console.log(this.name); //will output 'undefined'
});
What's the proper function or property to get the name there?
Documentation shows that
columns().every()
setsthis
to the current column'scolumn()
object. Further examination of the column object shows that it has acolumn().data()
method which returns the data the column contains as an array of values. This should provide the data you need.You can retrieve the initialization options through
table.settings().init()
- and by that thecolumns
definition this way :When clicking on a cell /
<td>
you can find the column index by (best practice in case of hidden columns) :An example of a click handler that alerts the corresponding
column.name
when a cell is clickedYour
every()
example would bedemo -> http://jsfiddle.net/6fstLmb6/
The following should work for you as per the API document: