动态创建的行中每个输入元素的Datepicker?

时间:2013-10-31 07:05:53

标签: jquery jquery-plugins datepicker jquery-ui-datepicker jquery-templates

我有一个动态for循环,如下所示。它创建了4列的行。我想为输入字段()的列之一添加一个日期选择器。

 for (var i=0, file; file=o.files[i]; i++) { %}

        <tr class="template-upload fade">
            <td class="preview"><span class="fade"></span></td>
            <td class="name"><span>{%=file.name%}</span></td>
            <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
    <td class="docDate"><span><input type="text" id="idDocDate" class="clsDocDate" /><img src="../Images/Calendar.png" alt="" onclick="txtDatePicker(this);"/></span></td>

    </tr>
    {% } %}

我在图片按钮上使用“onclick”事件尝试下面的代码,但这不能按预期工作。它显示了每行的日期选择器,但问题是它只将选定的日期值分配给第一行。我选择哪一行并不重要,它仍然只分配给第一行。是否有任何解决方法可以为每个行获取单独的datepicker?

function txtDatePicker(argDate) {
    var ele = $(argDate).closest('td').find('.clsDocDate');
    $(ele).datepicker({
        showOn: 'button'
    });
}

1 个答案:

答案 0 :(得分:2)

看起来这是因为你有日期输入字段的重复ID,从日期字段中删除id属性

<input type="text" class="clsDocDate" />

演示:SolutionProblem