javascript - 获取jquery datatable的当前行点击数据

标签 javascript jquery html datatable

我有一个 jquery 数据表,它为我提供了表中的数据。现在每一行都有一个更新按钮。单击将打开一个选项卡,并填写相关数据。因此,为了获取当前行点击值,我尝试了这样的代码

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

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

但是无法获取数据。

这是我完整的 jquery 数据表代码

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
        });

最佳答案

您使用了 #example 而不是 grdSMPSRCOM,

试试这个,

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);
   } );

供您引用,http://jsfiddle.net/f4bppa43/1276/

关于javascript - 获取jquery datatable的当前行点击数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49252816/

相关文章:

javascript - React-Redux 类型错误 : Cannot read property 'setStatus' of undefined

javascript - 防止第二个事件触发 : click vs. URL 哈希更改

css - 为什么子元素 <img/> 不包含父 div 的宽度和高度?

javascript - HTML - 为什么默认情况下链接和图像是可拖动的?

javascript - 要求未找到 Angular Directive(指令) Controller

javascript - Vue JS V-用于组件 react 性

javascript - ES6 导入 – jQuery 未定义

javascript - 确认后如何重置表格

html - Flexbox 中无法设置静态高度?

javascript - 为什么JS变量未定义?