JQuery DataTables插件点击按钮

时间:2016-04-29 13:27:55

标签: jquery datatables

大家好,并提前感谢您的帮助!

我有一些标签,每个标签包含一个数据表,都是动态创建的。每个数据表包含1个按钮,用于将特定行上的值复制到另一个数据表。

我面临的问题是只有正确复制了最后一个标签上抓取的值。在其他选项卡上,抓取的值属于最后一个选项卡。

这是指向数据表(http://lettersmatters.pt/nutricional.php

的链接

这是基于mysql和php查询创建表的代码:

var productTables = <?php echo(json_encode($catlength)); ?>;

productTables = productTables + 1;

for( var i = 1; i < productTables ; i++){
    var genTable = '#productsTable' + i;
    var productsTable = $(genTable).DataTable({
                    select:     true,
                    "paging":   false,
                    "info":     false,
                    "language": {
                        "zeroRecords": "Nenhum registo encontrado",
                        "infoEmpty": "Sem registos",
                        "search": "Procurar"},
                    "columnDefs": [ {
                    "targets": -1,
                    "data": null,
                    "defaultContent": "<button>+</button>"
                    } ]
                });

    $(genTable + ' tbody').on( 'click', 'tr', function () {
                if ( $(this).hasClass('row_selected') ) {
                    $(this).removeClass('row_selected');
                }
                else {
                    $(this).addClass('row_selected');
                }
            } );

    $(genTable + ' tbody').on( 'click', 'button', function () {
        var data = productsTable.row( $(this).parents('tr') ).data();
        orderDataSet = [
                    data[0], data[1], data[2], data[3]
                ];
        orderTable.row.add(orderDataSet).draw(false);
    } );

我在这里缺少什么?

再次感谢你!

1 个答案:

答案 0 :(得分:1)

更改此行

var data = productsTable.row( $(this).parents('tr') ).data();

var data = $(this).parents('table').DataTable().row( $(this).parents('tr') ).data();