简体   繁体   中英

Get the current row click data for jquery datatable

I have a jquery datatable which brings me the data in a table. Now each row has a update button. Onclick of which a tab will open with relevant data fill in it. So for getting the current row click values I tried my code like this

function getDataForSMPS() {
        var table = $('#grdSMPSRCOM').DataTable();

        $('#example tbody').on('click', 'div', function () {
            console.log(table.row(this).data());
        });
    }

But was unable to get the data.

Here is my full jquery datatable code

var details = [];

        for (var i = 0, len = retrievedParsedValue.length; i < len; i++) {
            var result = retrievedParsedValue[i];

            var buttonColumn = "<b><div style='cursor: pointer;' onClick=" + 'getDataForSMPS();' + ">Update</div></b>";
            details.push([retrievedParsedValue[i]['RJ_FACILITY_ID'], retrievedParsedValue[i]['IID'], retrievedParsedValue[i]['SMPS_AVAILABLE'], retrievedParsedValue[i]['NO_OF_SMPS_ONSITE'], retrievedParsedValue[i]['SMPS_MAKE'], retrievedParsedValue[i]['SMPS_CAPACITY'], retrievedParsedValue[i]['CONTROLLER_MODEL'], retrievedParsedValue[i]['RECT_MODULE_MODEL'], retrievedParsedValue[i]['HEALTHY_RECTIFIER_COUNT'], retrievedParsedValue[i]['BACKPLANE_RECTIFIER_SLOT'], retrievedParsedValue[i]['RECT_CAPACITY'], retrievedParsedValue[i]['SMPS_STATUS'], retrievedParsedValue[i]['NO_OF_FAULTY_MODULES'], retrievedParsedValue[i]['DC_LOAD'], retrievedParsedValue[i]['SMPS_OTHER_REMARKS'], buttonColumn]);
        }

        $('#grdSMPSRCOM').DataTable({
            destroy: true,
            data: details,
            "scrollX": true,
            columns: [
                { title: "RJ_FACILITY_ID" },
                { title: "IID" },
                { title: "SMPS_AVAILABLE" },
                { title: "NO_OF_SMPS_ONSITE" },
                { title: "SMPS_MAKE" },
                { title: "SMPS_CAPACITY" },
                { title: "CONTROLLER_MODEL" },
                { title: "RECT_MODULE_MODEL" },
                { title: "HEALTHY_RECTIFIER_COUNT" },
                { title: "BACKPLANE_RECTIFIER_SLOT" },
                { title: "RECT_CAPACITY" },
                { title: "SMPS_STATUS" },
                { title: "NO_OF_FAULTY_MODULES" },
                { title: "DC_LOAD" },
                { title: "SMPS_OTHER_REMARKS" },
                { title: "Update Data" }
            ],
            "bDestroy": true
        });

You have used #example instead of grdSMPSRCOM,

try this,

var details = [];
        for (var i = 0, len = retrievedParsedValue.length; i < len; i++) {
            var result = retrievedParsedValue[i];

            var buttonColumn = "<div class='edit_btn' style='cursor: pointer;' >Update</div>";
                        details.push([retrievedParsedValue[i]['RJ_FACILITY_ID'], retrievedParsedValue[i]['IID'], retrievedParsedValue[i]['SMPS_AVAILABLE'], retrievedParsedValue[i]['NO_OF_SMPS_ONSITE'], retrievedParsedValue[i]['SMPS_MAKE'], retrievedParsedValue[i]['SMPS_CAPACITY'], retrievedParsedValue[i]['CONTROLLER_MODEL'], retrievedParsedValue[i]['RECT_MODULE_MODEL'], retrievedParsedValue[i]['HEALTHY_RECTIFIER_COUNT'], retrievedParsedValue[i]['BACKPLANE_RECTIFIER_SLOT'], retrievedParsedValue[i]['RECT_CAPACITY'], retrievedParsedValue[i]['SMPS_STATUS'], retrievedParsedValue[i]['NO_OF_FAULTY_MODULES'], retrievedParsedValue[i]['DC_LOAD'], retrievedParsedValue[i]['SMPS_OTHER_REMARKS'] + buttonColumn]);
        }

$('#grdSMPSRCOM').DataTable({
            destroy: true,
            data: details,
            "scrollX": true,
            columns: [
                .....
            ],
            "bDestroy": true
        });


        var table = $('#grdSMPSRCOM').DataTable();


   $('#grdSMPSRCOM').on('click', 'tbody .edit_btn', function () {
    var data_row = table.row($(this).closest('tr')).data();
    console.log(data_row);
   } );

For your reference, http://jsfiddle.net/f4bppa43/1276/

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM