2016-04-29 89 views
1

大家好,感謝您的幫助!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

改變這一行

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

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

太謝謝你了!這解決了我的問題。 – PedroSimao