0

我需要添加多个输入框来输入数据。最初只有一个输入框,每个生成的输入框旁边都有一个“添加”按钮,可以生成多个文本框。

如果你看我的小提琴,第一级有 3 级文本框,它可以选择只输入 1 级数据,但是当涉及到 2 级时,应该有一个选项来创建同一父块的第二级,以便我们可以输入主标题的子数据。例如,如果我写州名,那么我应该能够输入子类别..

这是一级菜单的代码

$(document).ready(function(){

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

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

            $('.sort').show();
        });

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

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

     //For sort up/down
     function moveUp(item) {
    var prev = item.prev();
    if (prev.length == 0)
        return;
    prev.css('z-index', 999).css('position','relative').animate({ top: item.height() }, 250);
    item.css('z-index', 1000).css('position', 'relative').animate({ top: '-' + prev.height() }, 300, function () {
        prev.css('z-index', '').css('top', '').css('position', '');
        item.css('z-index', '').css('top', '').css('position', '');
        item.insertBefore(prev);
    });
}
function moveDown(item) {
    var next = item.next();
    if (next.length == 0)
        return;
    next.css('z-index', 999).css('position', 'relative').animate({ top: '-' + item.height() }, 250);
    item.css('z-index', 1000).css('position', 'relative').animate({ top: next.height() }, 300, function () {
        next.css('z-index', '').css('top', '').css('position', '');
        item.css('z-index', '').css('top', '').css('position', '');
        item.insertAfter(next);
    });
}

$(".filtr").sortable({ items: ".loop", distance: 10 });
$(document).on("click", "button.sort", function() {
    var btn = $(this);
    var val = btn.val();
    if (val == 'up')
        moveUp(btn.parents('.loop'));
    else
        moveDown(btn.parents('.loop'));
});

});

小提琴

所需结果

在此处输入图像描述

如何克隆与class="filtr" div一级面板完全相同的二级面板?

4

1 回答 1

2

为此使用该jquery clone功能

喜欢,

newfiltr=$('.filtr').clone();
//Append newfiltr where you want

文档http://api.jquery.com/clone/

更新

你试过这个吗,

$('button.level').on('click',function(){
   var $parent=$(this).closest('.filtr');
   var $clone=$parent.clone();
   $parent.after($clone);
});

第二次更新

尝试,

$('button.level').on('click',function(){
   var $parent=$(this).closest('.filtr');
   var $clone=$parent.clone();
   $clone.find('button.level').remove();
   $parent.after($clone);
});
于 2013-06-12T07:03:47.350 回答