我搜索了这个网站,发现了一些代码,所以我可以使用jQuery动态添加一行数据(克隆)。我有那个部分在工作。我还找到了一种克隆日期选择器的方法,并且它有效。但是,我无法解决的问题是如何有一个开始日期和结束日期,并有多行。
以下是我的代码的一部分:
var $tr = $(this).closest('tr').clone(true);
$tr.find('input.AddRow').val("Delete row");
var $input = $tr.find('input.startdatum');
var index = $('input#counter').val();
var id = 'datepicker' + index;
index++;
$('input#counter').val(index);
$input.attr('id', id).data('index', index);
console.log(index);
//我添加了这个
var $input1 = $tr.find('input.enddatum');
$input1.attr('id', id).data('index', index);
//结束
$(this).closest('table').append($tr);
$('.startdatum').each(function() {
$(this).datepicker('destroy');
$(this).datepicker({
dateFormat: 'mm-dd-yy'
});
});
在HTML中我有:
<input id="datePicker" name="startdatum[]" type="text" class="startdatum" />
我想添加
<input id="datePicker" name="enddatum[]" type="text" class="enddatum" />
我知道它与INDEX有关。当我克隆行时,我可以恢复START日期工作,但是当我尝试在克隆(第2行)中放置结束日期时,它会填充第一行的结束日期。
我错过了什么?提前谢谢,
答案 0 :(得分:1)
好的,我明白了。 我现在的部分代码:
var $tr = $(this).closest('tr').clone(true);
$tr.find('input.AddRow').val("Delete row");
var $input = $tr.find('input.startdatum');
var index = $('input#counter').val();
var id = 'startdate' + index;
var $input1 = $tr.find('input.enddatum');
var index1 = $('input1#counter').val();
var id1 = 'enddate' + index;
index++;
$('input#counter').val(index);
$('input1#counter').val(index1);
$input.attr('id', id).data('index', index);
$input1.attr('id', id1).data('index', index);
console.log(index);
在html中:
<input id="startdate[]" name="startdatum[]" type="text" class="startdatum" /> -
<input id="enddate[]" name="enddatum[]" type="text" class="enddatum" />