2015-09-01 91 views
-2

我遵循一些圍繞創建的解決方案,其中大部分都在工作,但我遇到了複製SELECTED ID記錄不僅是HTML結構的問題。使用唯一ID複製記錄

foreach ($pdo->query($sql) as $row) { 
     echo '<tr id="myrow">'; 
     echo '<td>'. $row['id'] . '</td>'; 
     echo '<td>'. $row['finishing'] . '</td>'; 
     echo '<td>'. $row['price'] . '</td>'; 
     echo '<td width=250>'; 
     echo '<a class="btn btn-warning" onclick=duplicate()>Duplicate</a>';  
    } 

當我點擊DUPLICATE按鈕我想複製關於所選id的整個行。

那我重複執行:

var i = 1; 
    $("table tr:first").clone().find("tr").each(function() { 
    $(this).attr({ 
     'id': function(_, id) { return id + i }, 
     'value': ''    
    }); 
    }).end().appendTo("table"); 

    i++; 

    }); 

UPDATE:再次嘗試複製:

  document.getElementById('duplicateid').onclick = addMoreFields; 
      var newRow = document.getElementById('myrow').cloneNode(true), 
      myTable = document.getElementById('myTable'); 
      function addMoreFields() { 
        myTable.appendChild(newRow.cloneNode(true)); 
       } 
+1

所以,代碼看起來不錯!你還想要什麼? –

+0

當請求幫助時,請花時間格式化您的代碼。 –

+0

@GuruprasadRao它不起作用。對不起T.J. –

回答

1

你需要用引號添加功能duplicate()onclick="duplicate()"

echo '<a class="btn btn-warning" onclick="duplicate()">Duplicate</a>'; 

編輯:

每一行有相同的ID(myrow),這是不正確所以我要去改變它的一類。爲每行賦予一個新的屬性,如data-id。

由於我確定ID是一個整數我沒有給它的屬性ID,因爲ID無法以整數開始。

echo '<tr class="myrow" data-id="'.$row['id'].'">'; 

然後發送ID到複製函數。

echo '<a class="btn btn-warning" onclick="duplicate(\''.$row['id'].'\')">Duplicate</a>'; 

然後複製該行並將其附加到表中。

function duplicate(id){ 

    $("#themeTable tr[data-id='"+id+"']").clone().appendTo($("#themeTable")); 

    } 

我完全不明白你想要什麼。是這個嗎?將行添加到單擊表格的末尾?

+0

我可以調用函數duplicate()沒有問題。 –

+0

每一行都有相同的ID。我編輯我的答案。 – Jacob

+0

可能吧,怎麼可以用獨特的id來表示每一行? –