table.row is not a function

table.row is not a function

athsalkjathsalkj Posts: 1Questions: 1Answers: 0
        var table = $('#example').DataTable(
        {

            "sServerMethod": 'POST',
            "fnServerParams": function ( aoData ) {
                aoData.push( { "name": "user", "value": userId} );
                aoData.push( { "name": "_token", "value": '{!! csrf_token() !!}' } );
            },
            "bProcessing": true,
            "sAjaxSource": "/example",
            "aoColumnDefs": [
                {
                    "bSortable": false, "aTargets": nonSortTargets,
                },
                {
                    "bVisible": false, "aTargets": hideTargets,
                }
            ],
            "oLanguage": {
            },
            language: {
                searchPlaceholder: "Search records"
            },
            "aaSorting": [[ sortTargets, "desc" ]],
            "sPaginationType": "bootstrap",
            "iDisplayLength": 10,
            "bAutoWidth": false,
            "aoColumns": [
                { sWidth: '10%' },
                { sWidth: '11%', sClass : "hidden-xs" },
                { sWidth: '11%', sClass : "hidden-xs" },
                { sWidth: '11%' },
                { sWidth: '13%' },
                { sWidth: '13%' },
                { sWidth: '24%' ,sClass: 'dt-control'}
            ]
        });

            // Add event listener for opening and closing details
            $('#example').on('click', 'td.dt-control', function () {
                console.log(table);
                var tr = $(this).closest('tr');

                var row = table.row(tr)
                //var row = table.row(tr);

                if (row.child.isShown()) {
                    // This row is already open - close it
                    row.child.hide();
                    tr.removeClass('shown');
                } else {
                    // Open this row
                    row.child(format(row.data())).show();
                    tr.addClass('shown');
                }
            });

This is my javascript code

please help to fix the issue.

Answers

  • kthorngrenkthorngren Posts: 21,343Questions: 26Answers: 4,954

    Based on your code snippet it looks like that should work. What does the console.log(table); show?

    Are you assigning the variable table elsewhere in the script?

    Maybe the var table = $('#example').DataTable( assignment is not in a context available to the function in line 40. It will take some general Javascript troubleshooting to debug. Maybe this TypeError: "x" is not a function doc will give you some ideas. If you still need help please post a link to your page or a test case replicating the issue so we can help debug.
    https://datatables.net/manual/tech-notes/10#How-to-provide-a-test-case

    Kevin

Sign In or Register to comment.