2014-04-02 27 views
0

我想使用多個datepicker.But它不能正常工作。我的問題是,當我點擊文本框的日曆,其加載後第二次點擊。否則其工作正常。我無法弄清楚這個問題。我給我下面的js代碼:多個日期選擇器工作不正常

$(".datepicker").on("click",function(){ 
     $(".datepicker").datepicker(
     { 
      dateFormat: "yy-mm-dd", 
      onSelect: function (date) 
      { 
       var date = $("#dateNew").val();//alert(date); 
       var currDate = new Date(); 
      } 
     }); 

任何想法,爲什麼這是造成問題?

+0

刪除點擊事件處理程序。即'$(「。datepicker」)。on(「click」,function(){' – Satpal

+0

你可以發佈你的問題的小提琴嗎? – Edward

+0

我已經把所有的代碼放在那裏,這裏是我的js小提琴鏈接http:/ /jsfiddle.net/ZPyyZ/9/,我需要在所有文本框中加載日曆----愛德華 – amit

回答

0

這裏是你的核心有一些變化:

$(function() { 

     $(".datepicker").datepicker(
     { 
      dateFormat: "yy-mm-dd", 
      onSelect: function (date) 
      { 
       var date = $("#dateNew").val();//alert(date); 
       var currDate = new Date(); 
      } 
     }); 

     var scntDiv = $('#p_scents'); 
     var i = $('#p_scents p').size() + 1; 

     $('#addScnt').live('click', function() { 
       $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" class="datepicker" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv); 
      $("input[name=p_scnt_" + i +"]").datepicker(
      { 
       dateFormat: "yy-mm-dd", 
       onSelect: function (date) 
       { 
        var date = $("#dateNew").val();//alert(date); 
        var currDate = new Date(); 
       } 
      }); 
       i++; 

       return false; 
     }); 

     $('#remScnt').live('click', function() { 
       if(i > 2) { 
         $(this).parents('p').remove(); 
         i--; 
       } 
       return false; 
     }); 
}); 

後點擊創建datapicker相反的,我創建了一個新的,當你添加新的輸入。

+0

它只能用於一個文本框。您的代碼正在爲第一個文本框工作。我正在使用添加更多按鈕進行加載多個文本框。當我點擊添加更多,它產生的文本框,你的這段代碼不會加載第二個日曆。 – amit

+0

這是我工作的js小提琴鏈接----小提琴鏈接jsfiddle.net/ZPyyZ/9, – amit

+0

這裏是正確的一個http://jsfiddle.net/8q83d/ – mrrobot