jQuery datePicker不适用于动态创建的输入元素



我正在尝试将jQuery datepicker集成到我使用脚本动态创建的输入字段。

我的脚本就像...

function getDate(id)
{
       $('.pop-up-link').show();
        $.ajax({
        url :   'gettartDate.jav',
        data    :   'Id='+id,
        success :   function(dateStr)
                        {
                             var htmlStr = 'Start Date : <input type="text" class="datepicker" id="startDateId" value="'+dateStr.StartDate+'"/>';
                             $(".pop-info").html(htmlString);
                             $('.datepicker').datepicker({ dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true});
                        }
}

当我需要编辑数据库中的日期并将新条目添加到数据库时,我正在调用此脚本。当我需要添加新条目时,IM设置为0并返回空白字符串。

现在我的问题。DatePicker可用于编辑功能。但是,当我添加新条目时,datePicker UI来了..但是日期没有更新到该输入字段。同样,当我发出警报以显示选定的日期时,我注意到只有日期正在变化。。

这可能取决于您正在动态地添加具有相同ID的datePicker的事实,我在动态创建的datePickers上遇到了相同的问题。如果有的话,您可以取出ID attr并使用该名称attr,它应该可以使用。

所以您应该有以下

var htmlStr = 'Start Date : <input type="text" class="datepicker" name="startDateId" value="'+dateStr.StartDate+'"/>';

尝试在.datepicker上使用刷新方法:

$( ".datepicker" ).datepicker( "refresh" );

最新更新