1

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

现在的问题是,

输入框应该只添加到相应的单选 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();

演示

4

2 回答 2

4

看看这里:http: //jsfiddle.net/VMBtC/2/

我改变了这个:

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

对此:

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

希望能帮助到你


编辑

单选按钮改进:检查这里-> http://jsfiddle.net/VMBtC/3/

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>
于 2013-06-11T07:22:00.957 回答
2

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

于 2013-06-11T07:22:13.380 回答