这就是我所拥有的:
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 id
和href
table
1}}用于div
和getUniqueId: (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
等的副本。
答案 0 :(得分:0)
您可以使用以下内容创建唯一ID:
function uniqueID() {
return "id-" + Date.now();
}
var id = uniqueID();
console.log(id);
Date.now()方法返回自1970年1月1日00:00:00以来经过的毫秒数。即使您一次克隆多个项目,这也应该为您提供相当保存的唯一ID。