如何让.text()顺序使用.clone()

时间:2015-11-08 04:56:12

标签: jquery

我一直在修改一个片段,用于克隆问卷中的“客户资料”部分。在该部分的顶部,我有一个div设置为标题

<div class="sub_title04" id="cus_title">Customer 01</div>

我正在调用的JQuery片段是

$("#p20_01_yes").click(function(){
var num = $('.clone_el').length,
newNum = new Number(num + 1),
clonedFieldset = $("#cloner").clone().appendTo("#page20");

clonedFieldset.attr('id',('cloner')+newNum).find("input, textarea, select, label, #cus_title").each(function() {
    var item = $(this);

    item.attr('name', item.attr('name') +newNum).attr('id', item.attr('id') +newNum);
    $('#cus_title').text("Customer 0"+newNum);
});
});

这一点

$('#cus_title').text("Customer 0"+newNum);

设置为标题的整数,因此它是“客户01,客户02,客户03”等。它可以工作,但不是按照预期的方式。会发生什么是第一个标题更新和重复项。

例如,如果我复制了7次,则从页面顶部开始,标题为“客户07,客户01,客户02,客户03,客户04,客户05,客户06”,而不是仅仅停留在顺序。

如何按顺序克隆它?

1 个答案:

答案 0 :(得分:1)

尝试prepending克隆到父

$("#p20_01_yes").click(function(){
var num = $('.clone_el').length,
newNum = new Number(num + 1),
clonedFieldset = $("#cloner").clone().prependTo("#page20"); // <- here

clonedFieldset.attr('id',('cloner')+newNum).find("input, textarea, select, label, #cus_title").each(function() {
    var item = $(this);

    item.attr('name', item.attr('name') +newNum).attr('id', item.attr('id') +newNum);
    $('#cus_title').text("Customer 0"+newNum);
});
});

这颠倒了我猜测你正在努力实现的目标。