如何为一对克隆对象

时间:2016-11-02 15:55:23

标签: javascript jquery html css

这就是我所拥有的:

HTML

<div class="table-product-wrap-inner">
  <table class="table-product">
    <a href="#1" data-toggle="collapse"></a>
  </table>

  <button class="btn-copy-group"></button>

  <div class="collapse" id="1"></div>

  <table class="table-product">
    <a href="#2" data-toggle="collapse"></a>
  </table>

  <div class="collapse" id="2"></div>

  <table class="table-product">
    <a href="#3" data-toggle="collapse"></a>
  </table>

  <div class="collapse" id="3"></div>
</div>

的jQuery

init: function () {
      var that = this;

      this.$productEdit..on('click', '.btn-copy-group', function(){
          var $targetTable = $(this).closest('.table-product-wrap-inner'),
              $clonedTable = $targetTable.clone(),
              $clonTableId = $clonedTable.removeAttr('data-product-link-group-id'),
              $groupName = $clonedTable.find('.product-group-link-name'),
              $linkName = $clonedTable.find('.product-link-title'),
              $idLink = $clonedTable.find('.product-link-id');

          $targetTable.after($clonTableId);
          $groupName.val($groupName.val() + " Копия");
          $linkName.val($linkName.val() + " Копия");
          $idLink.val('');
        })
}

点击button上的课程.btn-copy-group我在原版div下复制了.table-product-wrap-inner,但我还需要指定uniqeu idhref table 1}}用于divgetUniqueId: (function () { var i = 1; function getUniqueId() { return i += 1; } return getUniqueId; }()) 旁边的每对链接。

对于唯一身份证我有一个功能:

id

当我克隆一对table + div时,我用它来分配inique var newId = 'copy' + that.getUniqueId(); $clonedTable.after($targetDiv.clone().attr('id', newId)); $clonedTable.find('[data-toggle=collapse]').attr('href', '#' + newId);

table

所以当我们有很多对(可能有不同数量的对)div + <div class="table-product-wrap-inner"> <table class="table-product"> <a href="#1" data-toggle="collapse"></a> </table> <button class="btn-copy-group"></button> <div class="collapse" id="1"></div> <table class="table-product"> <a href="#2" data-toggle="collapse"></a> </table> <div class="collapse" id="2"></div> <table class="table-product"> <a href="#3" data-toggle="collapse"></a> </table> <div class="collapse" id="3"></div> </div> <!-- COPY --> <div class="table-product-wrap-inner"> <table class="table-product"> <a href="#copy1" data-toggle="collapse"></a> </table> <button class="btn-copy-group"></button> <div class="collapse" id="copy1"></div> <table class="table-product"> <a href="#copy2" data-toggle="collapse"></a> </table> <div class="collapse" id="copy2"></div> <table class="table-product"> <a href="#copy3" data-toggle="collapse"></a> </table> <div class="collapse" id="copy3"></div> </div> 时,我不知道如何使用它。 最终结果(重复之后)应该是这样的:

<button class="btn-copy-group">

如果用户点击重复<div class="table-product-wrap-inner">中的id,他将获得另一个带有唯一value等的副本。

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容创建唯一ID:

function uniqueID() {
  return "id-" + Date.now();
}
var id = uniqueID();
console.log(id);

Date.now()方法返回自1970年1月1日00:00:00以来经过的毫秒数。即使您一次克隆多个项目,这也应该为您提供相当保存的唯一ID。