2015-04-30 2 views
-1

Здесь я хочу вызвать функцию datepicker() для класса = "datepickers", который создается динамически.Как вызвать функцию JQuery для элемента, который создает динамически

если im пытается вызвать datepickers() jQuery, то его не работает.

пожалуйста, все возможно.

$("#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();' потому что в ваших 'данных' нет элемента-обертки. .. - http://jsfiddle.net/arunpjohny/br18rwp0/1/ –

+0

Thanx Alot sir .. $ el.filter (". datepickers"). datepicker(); работая нормально .. , пожалуйста, вы можете объяснить мне, как его работа и какая ошибка в моем коде. пожалуйста, объясните, –

Смежные вопросы