这是上一个SO问题的延续,并带有当前代码,在这里我可以看到连续的数字。如果我最初这样做的话,我的ID会以expy -1开头,如果我单击添加更多按钮,它将完美地变成expy-2,但是当我从expy -1单击时,expy-3克隆必须在expy-2之后而不是在expy-1和expy-2内部
当我尝试从那里删除expy-2时,它必须自动检测ID
例如如果我有expy-1,expy-2,expy-3和expy-4如果我删除expy2,则最终结果应为expy-1,expy-2,expy-3
根据以前的用户告诉我,我已经删除了++rowCount
并更改为rowcount
$clone.find('[id]').each(function() {
this.id += '_' + num;
console.log(this.id);
$(this).removeClass("errRed");
if ($(this).hasClass("required_Field")) {
$(this).prevAll('label').find('span.required-star').removeClass('text-error-red');
$(this).addClass("cloned_field");
} else {
$(this).removeClass("errRed");
$(this).removeClass("text-error-red");
}
});
$clone.find('.btn_more').after("<input type='button' class='btn_less1 edu_btnle' id='buttonless" + (++rowCount) + "'/>")
$clone.attr('id', "expy-" + (rowCount)).addClass('exp_add');
这是fiddle link
最佳答案
在click
的btn_less1
分配colned-row3
新的ids
$(document).on('click', ".btn_less1", function() {
var len = $('.cloned-row3').length;
if (len > 1) {
$(this).closest(".btn_less1").closest(".cloned-row3").remove();
}
// Iterating cloned-row3 and changin the id
$(".cloned-row3").each(function(i){
this.id = "expy-"+(i+1);
});
});
Live Fiddle
说得通?
关于javascript - jQuery克隆序列未按预期工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34393347/