2

I want to render the values from two different columns into my jquery datatable

https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js
https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css

$(document).ready(function(){

    var table = $('#table').DataTable({

         "ajax": {
                "url": "data.json",
                "dataSrc": "",
            },

         "columnDefs": [
            {
               "render": function (data, type, row) {
                   var result = 'The id is ' + data[0] + ' and the name is ' + data[1];
                        return result;
                    },
                    "targets": 0,
                },      

         ],

        "columns": [
                {
                    "data": "id"
                },
                {
                    "data": "name"
                }
            ]
    });

});

data.json:

[{
    "id": "12",
    "name": "Laura"
}]

But my result is:

The id is 12 and the name is undefined
3
  • 1
    It should be row[0] not data[0]. Commented Oct 16, 2017 at 10:29
  • @markpsmith But then my result is: The id is undefined and the name is undefined Commented Oct 16, 2017 at 10:30
  • it should be var result = 'The id is ' + row["id"] + ' and the name is ' + row["name"]; Commented Oct 16, 2017 at 10:36

1 Answer 1

8

Please change the following:

"columnDefs": [
            {
               "render": function (data, type, row) {
                   var result = 'The id is ' + row["id"] + ' and the name is ' + row["name"];
                   console.log(result);
                        return result;
                    },
                    "targets": 0,
                },      

         ]

Use row["id"] instead of data[0];

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.