gpt4 book ai didi

javascript - 单击时添加动态 div

转载 作者:数据小太阳 更新时间:2023-10-29 05:33:43 25 4
gpt4 key购买 nike

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

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

这是一级菜单的代码

$(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'));
});

});

FIDDLE

要求的结果

enter image description here

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

预期的代码结构应该是这样的

    <div class="filtr"> 
<!-- we'll clone this one... -->
<div class="test" id="2lev">
<div class="loop">
<button value='up' class="sort">Up</button>
<button value='down' class="sort">Down</button>
<input type="text" />
<button class="btn del">x</button>
<button class="btn add">Add</button> <button class="btn level">></button>

<!--Need to add this div here-->
<div class="filtr">
<!-- we'll clone this one... -->
<div class="test">
<div class="loop">
<button value='up' class="sort">Up</button>
<button value='down' class="sort">Down</button>
<input type="text" />
<button class="btn del">x</button>
<button class="btn add">Add</button>
</div>
</div>
<!-- here ...-->
</div>
<!--Need to add this div here-->

</div>
</div>
<!-- here ...-->
</div>

最佳答案

在这里 jsfiddle.net/VMBtC/28

code

但我认为克隆不是最好的解决方案,至少克隆模板不是事件元素。但是这段代码仍然需要大量工作。

关于javascript - 单击时添加动态 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17143610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com