2015-04-30 58 views
-1

這裏我想在動態創建的class =「datepickers」上調用datepicker()函數。如何在動態創建的元素上調用Jquery函數

如果即時通訊嘗試調用jQuery的datepickers(),那麼它不工作。

請任何人都可以。

$("#add").click(add); 
    $("#remove").click(remove); 


     $(".datepickers").datepicker(); 


}); 

function remove(){ 

    // alert("hello"); 
    if(typeof remove.i=='undefined') 
      remove.i=0; 

    alert(remove.i); 


    $("#from"+remove.i).remove(); 
    $("#to"+remove.i).remove(); 
    $("#timeLabel"+remove.i).remove(); 
    $("#tLabel"+remove.i).remove(); 
     $("#fLabel"+remove.i).remove(); 
     if(remove.i!=0) 
      remove.i--; 
    } 
    function add(){ 

     if(typeof remove.i=='undefined') 
      remove.i=0 

    remove.i++; 
     //alert(remove.i); 
     var id1="'from"+remove.i+"'"; 
     alert(id1); 
    var data= "<label id='timeLabel"+remove.i+"'>Offer Time ::: </label>"+ 
       "<label id='fLabel"+remove.i+"'>From &nbsp;&nbsp;&nbsp; </label><input type='date' class='datepickers' id='from"+remove.i+"' >"+ 
       "<label id='tLabel"+remove.i+"'> To&nbsp;&nbsp;&nbsp; </label><input type='date' class='datepickers' id='to"+remove.i+"'>"; 
     alert(data) ; 


    $("#addDiv").append(data); 

    }       

回答

1

對於動態添加的元素,你需要初始化插件一旦這些元素被創建,以便

function add() { 

    if (typeof remove.i == 'undefined') remove.i = 0 

    remove.i++; 
    //alert(remove.i); 
    var id1 = "'from" + remove.i + "'"; 
    alert(id1); 
    var data = "<label id='timeLabel" + remove.i + "'>Offer Time ::: </label>" + 
     "<label id='fLabel" + remove.i + "'>From &nbsp;&nbsp;&nbsp; </label><input type='date' class='datepickers' id='from" + remove.i + "' >" + 
     "<label id='tLabel" + remove.i + "'> To&nbsp;&nbsp;&nbsp; </label><input type='date' class='datepickers' id='to" + remove.i + "'>"; 
    alert(data); 

    var $el = $(data).appendTo('#addDiv'); 
    //for newly created datepicker initialize the plugin 
    $el.find(".datepickers").datepicker(); 

} 
+0

爵士它不工作,請給我的解決方案。 –

+0

嘗試''el.filter(「。datepickers」)。datepicker();'而不是'$ el.find(「。datepickers」)。datepicker();'因爲'data'中沒有包裝元素。 .. - http://jsfiddle.net/arunpjohny/br18rwp0/1/ –

+0

Thanx Alot sir .. $ el.filter(「。datepickers」)。datepicker();工作很好.. 請你能解釋一下它的工作原理和我的代碼中的錯誤。請解釋 –

相關問題