複製されたチェックボックスに一意の名前を付けようとしています。取得する代わりに、次のように言いましょう。
Origin_1, Origin_2, Origin_3, for cloned 1, 2, 3 of the same element,
私は得る:
Origin_1, Orignin_11, Origin_111
私は問題を理解しています: クローンは、過去のクローンを元の名前として使用します。周りを回るアプローチがどうあるべきかわかりません。元の名前を使用する方法を見つけるか、以前のクローンの名前を 1 文字削除して、カウンターが最初から開始されないようにします。あなたのヒントをいただければ幸いです。
JavaScriptコードは次のとおりです。
$(window).load(function() {
var bindFunction = $('#quickmenuall input:checkbox').change(function(){
var uniqueId = 1;
var currentName = $(this).attr('name');
newName = currentName + (uniqueId++);
if($(this).is(':checked')){
var clonedClient = $(this).parent().parent().parent().parent().parent().clone(true)
var ori = $(this).parent().parent().parent().parent().parent()
clonedClient.insertBefore(ori)
$(this).attr('name', newName)
var clonedClient = $(this);
$(this).prop('checked', false)
} else {
var clonedClient = $(this);
clonedClient.parent().parent().parent().parent().parent().remove()
checkbox.bind("change", bindFunction);
bindFunction();
}
});
});
ここに jsfiddle があります: http://jsfiddle.net/Sergelie/ULywc/