您好,我正在使用tokenfield创建输入标签。
我尝试克隆元素没有成功。有什么办法可以进行正确的克隆吗?这是动态表格。
问题:克隆后,字段不起作用。我认为问题出在令牌上。
这是我的JavaScript代码:
$('.tokenfield').tokenfield();
这是我的克隆功能:
$('.clone').on('click',function(){
var newLine = $(".attribute:first").clone();
$("#variants").append(newLine);
});
这是我的HTML代码:
<div id="variants">
<div class="row attribute">
<div class="col-lg-4">
<div class="input-group"> <span class="input-group-prepend">
<button class="btn btn-light clone" type="button"><i class="icon-plus3"></i></button>
</span> <input type="text" class="form-control" placeholder="Left button"> </div>
</div>
<div class="col-lg-8">
<div class="form-group mb-1"> <input type="text" class="form-control tags tokenfield" name="variant[value][]" value=""><br>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
您正在克隆整个.attribute
分区...,其中包括一个input
,该实例在...上具有 tokenkenfield 实例。
正如Barmar所说,.clone(true)
将“深度克隆”,这意味着它将同时克隆属性和事件……但是您所谈论的是实例一个孩子的插件。那是故事的结局;)
很高兴,有办法。您只需在该新input
上创建 tokenkenfield 的另一个实例。
类似这样的东西:
$('.clone').on('click',function(){
var newLine = $(".attribute:first").clone();
$("#variants").append(newLine);
$("#variants").find(".tokenfield").last().tokenfield(); // New instance here.
});
免责声明: 未经测试的(但是,希望您有这个概念...;))