复制具有唯一id的记录

Duplicating record with unique id

本文关键字:记录 id 唯一 复制      更新时间:2023-09-26

我遵循了一些解决方案,其中大多数是工作的,但我有一个问题,复制选定的id记录不仅HTML的结构。

    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: Another Try for duplication:

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

需要添加带引号的函数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发送给duplicate函数。

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

然后复制该行并将其附加到表中。

    function duplicate(id){
     $("#themeTable tr[data-id='"+id+"']").clone().appendTo($("#themeTable"));
    }
我完全不明白你想要什么。是这个吗?在单击时将行追加到表的末尾?