2013-05-15 3 views
0

Я пытаюсь добавить новую строку, когда я нажму ссылку. но jquery не работает. на jsfiddle он запускается, но не добавляет новую строку. здесь jsfiddle. add_field() добавляет новые пустые входы, которые невидимы в моей форме.JQuery DatePicker не работает, когда щелкнули Добавить новую строку link

<script type="text/javascript"> 
    function add_field(){ 
     var cont = document.getElementById('addhere'); // refer to the div 
     var numfields = cont.getElementsByTagName("input").length; // get number of input fields in the div 
      // create a div element 
      var div1 = document.createElement('div'); 
      // Get template data 
      div1.innerHTML = document.getElementById('fieldtpl').innerHTML; 
      // append to div, so that template data becomes part of document 
      document.getElementById('addhere').appendChild(div1); 
    } 

    $(".datepick").each(function() { 
     $(this).datepicker({ 
     changeMonth: true, 
     changeYear: true 
     }); 
    }); 
    </script> 

<form name="ExtendForm" id="ExtendForm" method="get" action=""> 
    <a href="javascript:void(0);" onClick="add_field();">Add new line</a> 
    <BR> 
    <div id="container1" style="position:fixed;"> 
     <div id="stid" style="float:left; width:200px;"> 
      Student ID 
     </div> 
     <div id="sdate" style="float:left; width:200px;"> 
      Start 
     </div> 
     <div id="fdate" style="float:left; width:200px;"> 
      Finish 
     </div> 
     <div id="addhere" style="float:relative; width:600px;"> 
      <div id="stid" style="float:left; width:200px;"> 
       <input type="text" name="studentid" id="studentid"> 
      </div> 
      <div id="sdate" style="float:left; width:200px;"> 
       <input name="start" class="datepick"> 
      </div> 
      <div id="fdate" style="float:left; width:200px;"> 
       <input name="finish" class="datepick"> 
      </div> 
     </div> 

     <div id="fieldtpl" style="display:none;"> 
      <div id="stid" style="float:left; width:200px;"> 
       <input type="text" name="studentid" id="studentid"> 
      </div> 
      <div id="sdate" style="float:left; width:200px;"> 
       <input name="start" class="datepick"> 
      </div> 
      <div id="fdate" style="float:left; width:200px;"> 
       <input name="finish" class="datepick"> 
      </div> 
     </div> 

     <div id="sbmt" style="width:600px; text-align:center"> 
      <input type="submit" name="saveForm" id="saveForm" value="Submit"> 
     </div> 
    </div> 
</form> 
+0

если перейти от OnLoad к Nowrap в голове или Nowrap в теле он работает отлично –

ответ

0

Используйте этот ...

$(document).ready(function(){ 
    setDatePicker(); 
}); 

$('#addLine').on('click', function(){ 
     var cont = document.getElementById('addhere'); // refer to the div 
     var numfields = cont.getElementsByTagName("input").length; // get number of input fields in the div 
     // create a div element 
     var div1 = document.createElement('div'); 
     // Get template data 
     div1.innerHTML = document.getElementById('fieldtpl').innerHTML; 
     $('#addhere').append(div1.innerHTML); 
     setDatePicker(); 
    }); 

function setDatePicker() { 
    $("#addhere .datepick").each(function() { 
     $(this).datepicker({ 
      changeMonth: true, 
      changeYear: true 
     }); 
    }); 
} 

Смотрите эту DEMO

+0

спасибо, но после того, как 3-я строка datepicker все еще не запускается. – sdiri

+0

@sdiri См. Пример снова ... он работает ... xD –

+0

большое вам спасибо :) – sdiri

0

.Он работает here.You необходимо выбрать вариант кузова с левой side.I однажды разместил ссылку в комментарии section.check него

+0

см час ere http://jsfiddle.net/AsrHk/1/ – PSR

+0

, но когда он добавляет новую строку datepicker, все еще не запускается. – sdiri

+0

Я обновил ссылку http://jsfiddle.net/AsrHk/4/.see здесь – PSR

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