JQuery Select2克隆

JQuery Select2 cloning

我已经设置了一个 JSFiddle 来演示我的问题。

我已经更改了克隆方式以使其更加通用,因此我不需要为不同的表重复使用代码。通常,对于 select2 元素,我会做这样的事情

$(".campaignType", $tr).select2({
    tags: true
});

也就是说我不需要破坏它。但是,在这种情况下,它似乎不起作用。正如您在 fiddle 中看到的,当添加一行时,第二行的 select 不起作用。好像是创建了两个span。

有什么方法可以让它正常工作吗?

谢谢

问题来自于尝试克隆 Select2 框,但它找不到它。

为了在模板行上解决这个问题,我没有初始化 Select2。我用 .template { display: none; } 隐藏模板行。接下来在 initThings 方法中,我现在调用 add_row 方法来创建第一个可见行。

add_row 方法现在可以成功设置 Select2,因为它从未在克隆的行上初始化。

我的解决方案是基本上不修改模板行,只在生成的行上初始化 Select2 和日期选择器。

参见fiddle:https://jsfiddle.net/vt2czgse/8/