table.row is not a function

JqueryDatatablesJquery Datatables

Jquery Problem Overview


I am trying to implement row details in my datatables just like this example.

When I click on the show more image of my table, I get an error in my firebug console saying:

TypeError: oTable.row is not a function
var row = oTable.row(tr);

Here is also a fiddle of my code that generates this error.

As i understand it, the row() function of my datatables is not found. But i don't get it... I use the latest datatables version with jquery version 1.11.1 (and not 1.11.0 as shown in fiddle) which is what is used in the example also(on datatables website).

I am stuck... Anyone has any idea why I get this error?

Thanks a lot

Jquery Solutions


Solution 1 - Jquery

I don't know what is the difference between dataTable and DataTable functions, but your code worked when I initialized the data table using the second function.

 oTable = $('#tblCasesMain').DataTable({ ...

Here is the fiddle, which only gives an error on format function which is not defined.

Note: I have changed that function name as per this example.

Update: I have done a bit of research and got the answer. Take a look at the Upgrade note here which says the following:

> If you are upgrading from DataTables 1.9 or earlier, you might notice that a capital D is used to initialise the DataTable here. $().DataTable() returns a DataTables API instance, while $().dataTable() will also initialise a DataTable, but returns a jQuery object.

Solution 2 - Jquery

There is not need to use .DataTable() instead of dataTable()

Simply append .api(). It will return the object that defines the required row() method.

e.g.: var row = oTable.api().row(tr);

Solution 3 - Jquery

This is because you haven't mention Function

Check Update Working Link http://jsfiddle.net/2gLqgL7m/7/

Solution 4 - Jquery

If the above answers don't work in your case, try below alternate.

var row = $('#tblSample').DataTable().row(tr);

Instead of

var oTable =  $('#tblSample').dataTable( {
    //Code
 });
var row = oTable.row(tr);

Solution 5 - Jquery

Update dataTable() wuth DataTable() No need to use .dataTable()

Use .DataTable()

Example :

oTable = jQuery('#tblCasesMain').DataTable({ ...

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMaVRoSCyView Question on Stackoverflow
Solution 1 - JqueryKarlen KishmiryanView Answer on Stackoverflow
Solution 2 - JqueryU. KadnerView Answer on Stackoverflow
Solution 3 - Jqueryuser3209031View Answer on Stackoverflow
Solution 4 - JqueryPraveen MittaView Answer on Stackoverflow
Solution 5 - JqueryMr. HKView Answer on Stackoverflow