2017-02-25 37 views
0

你好我试图增加我所有的表单字段从零到数字,每当我添加新的克隆它将下一个数字分配给名称标记,我尝试了所有的方法,但没有任何方法为我工作。Jquery克隆方法增量名称标记

这里是我的小提琴

https://jsfiddle.net/o5wam5r2/

这里是我的JS代码

var formItem; 
$(document).ready(function() { 
    //Clone and remove your div instead of hiding it 
    formItem = $('.ScheduleextraPartTemplate').clone(); 
    $('.ScheduleextraPartTemplate').remove(); 
    formItem.addClass('clone clone-1'); 
    $('#Schedulecontainer').append(formItem); 
}); 

$(document).on('click', '#ScheduleaddRow', function() { 
    var cloneForm = $('.clone').last().clone(); 
    var cloneNum = $('.clone').length; 
    cloneForm.removeClass('clone-'+cloneNum).addClass('clone-' + (cloneNum+1)); 
    var date = cloneForm.find('[name="txtSchedule"]').val(); 
    cloneForm.find('[name="txtSchedule"]').val(addOneMonth(date)); 
    $('#Schedulecontainer').append(cloneForm); 
}) 

function addOneMonth(date) { 
    var year = parseInt(date.split("-")[0]); 
    var month = parseInt(date.split("-")[1]) + 1; 
    var day = parseInt(date.split("-")[2]); 
    if(month > 12) { 
     month = month - 12; 
     year++ 
    } 
    return year + "-" + month + "-" + day; 
} 
+0

一世我不清楚你到底想要什么 –

+0

你想增加名字?然后使用'++'方法 –

+0

是的,我想增加名称 – Rtra

回答

0

我改变一小片的代码固定它

var formItem; 
var counter = 0; 
$(document).ready(function() { 
    //Clone and remove your div instead of hiding it 
formItem = $('.ScheduleextraPartTemplate').clone(); 
    formItem.find('[name^=txtSchedule]')[0].name = "txtSchedule" + counter; 
    formItem.find('[name^=txtScheduleAmountPay]')[0].name = "txtScheduleAmountPay" + counter; 
$('.ScheduleextraPartTemplate').remove(); 
    formItem.addClass('clone clone-1'); 

$('#Schedulecontainer').append(formItem); 
}); 

$(document).on('click', '#ScheduleaddRow', function() { 
    var lens = counter++; 
    var cloneForm = $('.clone').last().clone(); 
    var cloneNum = $('.clone').length; 
    cloneForm.removeClass('clone-'+cloneNum).addClass('clone-' + (cloneNum+1)); 
    var date = cloneForm.find('[name^="txtSchedule"]').val(); 
    cloneForm.find('[name^="txtSchedule"]').val(addOneMonth(date)); 
    cloneForm.find('[name^=txtSchedule]')[0].name = "txtSchedule" + (lens+1); 
    cloneForm.find('[name^=txtScheduleAmountPay]')[0].name = "txtScheduleAmountPay" + (lens+1); 

$('#Schedulecontainer').append(cloneForm); 
}) 

function addOneMonth(date) { 
var d = new Date(date); 
d.setMonth(d.getMonth() + 1); 
return d.getFullYear() + '-' + ("0" + ((d.getMonth() + 1))).slice(-2) + '-' + ("0" + (d.getDate())).slice(-2); 
}