如何在动态创建的文本字段上创建datepicker?

时间:2014-09-02 07:26:21

标签: javascript jquery datepicker

这是我的文字字段:

<input type='text' id='activationdate' name='activationdate' style='height:"+height*2.5/100+"px;font-size:"+height*2.3/100+"px' class='activationdate'/>

动态创建的文本字段将如下所示:

<input type='text' id='activationdate"+temp+"' name='activationdate' style='height:"+height*2.5/100+"px;font-size:"+height*2.3/100+"px' class='activationdate'/>
每次创建动态文本框并且temp从1

开始时,

temp与javascript增加+1

现在这是我的jquery datepicker代码:

$( document ).ready(function() {
    $('input[id^="activationdate"]').on('click', function() { 
    $(this).datepicker({
            changeMonth: true,
            changeYear: true
        });
    });
});

但它不起作用。请帮助..................

1 个答案:

答案 0 :(得分:2)

您需要使用Event Delegation委托事件方法{strong}动态创建元素 {/ 3}}。

使用

$(document).on('click', 'input[id^="activationdate"]', function() {
    $(this).datepicker({
        changeMonth: true,
        changeYear: true
    });
});

修改

在创建元素后应用插件而不是使用事件delgation

function addDataUpper(){
    //Your Existing code

    //Add Plugin
    $('#activationdate'+temp).datepicker({
        changeMonth: true,
        changeYear: true
    });     
    return false;        
}