Javascript 父元素的Jquery克隆和appendto

Javascript 父元素的Jquery克隆和appendto,javascript,jquery,Javascript,Jquery,我有3个单选按钮可以打开各个div。所有3个div都有输入框,可以通过单击输入框旁边的add按钮来添加这些输入框 现在的问题是, 输入框应仅添加在相应的收音机选中的div中,但现在它适用于所有3个div输入框。如果您选中任意一个单选按钮并单击“输入”旁边的“添加”按钮,添加几个输入框,然后转到另一个单选按钮,您也可以在那里看到相同的操作,但实际上并不正确 这是代码和小提琴 $filtr = $('.filtr'); $filtr.on('click', '.add', func

我有3个单选按钮可以打开各个div。所有3个div都有输入框,可以通过单击输入框旁边的add按钮来添加这些输入框

现在的问题是,

输入框应仅添加在相应的收音机选中的div中,但现在它适用于所有3个div输入框。如果您选中任意一个单选按钮并单击“输入”旁边的“添加”按钮,添加几个输入框,然后转到另一个单选按钮,您也可以在那里看到相同的操作,但实际上并不正确

这是代码和小提琴

$filtr = $('.filtr');

        $filtr.on('click', '.add', function(){
            $(this).closest('.loop').clone().appendTo( $('.test') );
        });

        $filtr.on('click', '.del', function(){
           $(this).closest('.loop').remove();
        });

        $('#1lev, #2lev, #3lev').hide();

看看这里:

我改变了这一点:

$filtr.on('click', '.add', function(){
    $(this).closest('.loop').clone().appendTo( $('.test') );
});
为此:

$filtr.on('click', '.add', function(){
    $(this).closest('.loop').clone().appendTo( $(this).closest('.test') );
});
希望能有帮助


编辑

单选按钮改进:点击此处->

JS

$(":radio").click(function(){
     $(".test").hide();
     var show = $(this).attr("data-show");
     $("#"+show).show(300)
});
HTML

<label><input name="1 Level" type="radio" value="0" data-show="1lev" />1 Level</label>
<label><input name="1 Level" type="radio" value="1" data-show="2lev" />2 Level</label>
<label><input name="1 Level" type="radio" value="2" data-show="3lev" />3 Level</label>
1级
2级
3级
看看这里:

我改变了这一点:

$filtr.on('click', '.add', function(){
    $(this).closest('.loop').clone().appendTo( $('.test') );
});
为此:

$filtr.on('click', '.add', function(){
    $(this).closest('.loop').clone().appendTo( $(this).closest('.test') );
});
希望能有帮助


编辑

单选按钮改进:点击此处->

JS

$(":radio").click(function(){
     $(".test").hide();
     var show = $(this).attr("data-show");
     $("#"+show).show(300)
});
HTML

<label><input name="1 Level" type="radio" value="0" data-show="1lev" />1 Level</label>
<label><input name="1 Level" type="radio" value="1" data-show="2lev" />2 Level</label>
<label><input name="1 Level" type="radio" value="2" data-show="3lev" />3 Level</label>
1级
2级
3级

使用
$(this.cloop').clone().appendTo($(this.test'))
,否则将添加到每个
.test
元素。

使用
$(this).clone().appendTo($(this).clone($)
,否则您将添加到每个
.test
元素。

您能为您的问题表达一个准确的问题吗?您能为您的问题表达一个准确的问题吗?谢谢。成功了。:)还有一件事,有没有写单选按钮检查脚本的捷径?因为目前我的代码是手工编写的。成功了。:)还有一件事,有没有写单选按钮检查脚本的捷径?因为目前我的代码是相当手动的,所以