0

我搜索了这个站点并找到了一些代码片段,因此我可以使用 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"  />

我知道这与索引有关。当我克隆该行时,我可以恢复 START 日期工作,但是当我尝试在克隆的(第 2 行)中放置一个结束日期时,它会填充第一行的结束日期。

我错过了什么?提前致谢,

4

1 回答 1

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"  />
于 2013-09-18T14:54:59.700 回答