JQuery,不止一次克隆div

时间:2016-03-05 19:17:42

标签: javascript jquery clone

我设置了以下JSFiddle。目前,我有三个div,每个div都有自己的输入。每个输入都有一个复选框,可以添加另一个输入。如果未选中,则再次删除输入。这个代码是

 $(function() {
   $('input:checkbox[name="labelNewline"]').change(function() {
     if ( $(this).is(':checked') ){
       var clone = $(this).parent().siblings(".labelAndInput").first().clone().insertAfter($(this).parent());
       clone.addClass('clone');
     } else {
            $(this).parent().siblings(".clone").remove();
     }
   });
 });

我现在正在尝试做别的事情。如果添加了新行,则新输入还应该具有能够添加新输入的复选框。因此,我不再希望将此限制为仅添加一个输入。但是,如果未选中输入的复选框,则应删除其相关输入。

这样的事情会成为可能吗?

由于

1 个答案:

答案 0 :(得分:2)

是的,这是可能的。

这是一个工作小提琴:

https://jsfiddle.net/yvnyk69v/1/

注意事项:

$("#testingContainer").delegate('input:checkbox[name="labelNewline"]', 'change', function() {

委托函数在这种情况下非常有用。它做了什么它需要一个元素,并将事件处理程序应用于任何匹配委托函数中指定的选择器的元素,即使它已在代码已经运行后添加。

UI非常简单,因此我可以使用next和previous来定位元素。如果它变得更复杂,您可能想要添加一个属性或类来更容易地识别相应的输入。