jquery日期选择器不适用于IE中的第三行和后续行

jquery日期选择器不适用于IE中的第三行和后续行,jquery,jquery-ui-datepicker,Jquery,Jquery Ui Datepicker,我正在报价构建页面中使用jquery日期选择器。 每次单击添加行时,页面都会复制隐藏的表行 不幸的是,对于第三行和后续行,当您使用日期选择器时,日期将输入到第二行,而不是选定的行 使用firebug,我已经确定为后续每一行输入的日期字段指定了与第二行相同的id。这是因为在加载页面时,为每个“添加的行”克隆的模板行已经存在 有没有人能告诉我怎样才能避开这个问题 Jquery: $(document).ready(function(){ refreshDatepickers(); $

我正在报价构建页面中使用jquery日期选择器。 每次单击添加行时,页面都会复制隐藏的表行

不幸的是,对于第三行和后续行,当您使用日期选择器时,日期将输入到第二行,而不是选定的行

使用firebug,我已经确定为后续每一行输入的日期字段指定了与第二行相同的id。这是因为在加载页面时,为每个“添加的行”克隆的模板行已经存在

有没有人能告诉我怎样才能避开这个问题

Jquery:

$(document).ready(function(){
    refreshDatepickers();
    $('#additem').click(function(){
        addItem();
        refreshDatepickers();
        return false;
    });


function addItem(){
    var itemRow = $('#rowtemplate');
    var newRow = itemRow.clone().removeAttr('id');
    newRow.appendTo($('.newQuote tbody'));
    newRow.attr('id', 'item_'+(newRow.siblings().length+1));
    return false;
}

function refreshDatepickers(){
    var tobeDated = $('.datepicker');
    $.each(tobeDated, function(){
        $(this).removeClass('hasDatepicker').datepicker({dateFormat: "dd/mm/yy"});

    });
}
为每一新行复制的行的简化html如下所示: datepicker iinput通过我假设的datepicker插件动态添加这种id id=dp1358783794011

 <div style="display:none;">
<table>
    <tr id="rowtemplate">
        <td><input type="text" class="qi-name" name="items[title][]"/></td>
        <td><textarea class="qi-desc" name="items[description][]"></textarea></td>
        <td><input type="text" class="qi-del datepicker" name="items[delivery][]"/></td>

        <td class="qi-act">
                <a href="#" class="actAs qi-apply"></a>
                <a href="#" class="qi-delete"></a>
        </td>
    </tr>
</table>

建议在运行任何其他代码之前缓存行模板,然后在添加新行时添加缓存行的克隆

/* remove ".find(':input').val('').end()" if no data will be populated at run time*/
var cacheRow=$('#rowtemplate').clone().removeAttr('id').find(':input').val('').end();

/* run init code*/

function addItem(){    
    var newRow =cacheRow.clone();
    newRow.appendTo($('.newQuote tbody'));
    newRow.attr('id', 'item_'+(newRow.siblings().length+1));
    return false;
}

谢谢你看。如果你再试试你的小提琴,你会看到它显示出不受欢迎的行为。添加两行,然后单击第三行的日期字段并选择一个日期。它将日期放在第一行。我刚刚找到了一个解决方法,鉴于这个问题,它现在看起来很明显,我只是手动从rowtemplate中删除id。datepicker因此:代码$'rowtemplate.datepicker'。removeAttr'id';在克隆行之前编写代码,但可能我的方法在某种程度上是错误的,这可能更简单。