2016-10-25 45 views
6

我在我的html中使用jQuery多日期選擇器。當我選擇日期選擇器中的第一個日期時,它工作正常,但是當我選擇第二個日期時,它跳轉到當前月份,但日期選取器值附加到輸入框。日曆跳轉到本月與jQuery多日期選擇器

我不知道,我在此代碼做了錯事:

$('#datePick').multiDatesPicker({ 
    beforeShowDay: my_array, 
    // For disabling all "Sundays" 
    dateFormat: "d/m/yy", 
    maxDate: "+3m", 
    minDate: "-1m", 
    multidate: true, 
    addDisabledDates: My_array, 
    onSelect: function load() { 
    } 
}); 

enter image description here

enter image description here

誰能幫我解決這個問題?

回答

1

優秀的問題。

我在documentation中找不到任何東西來修復您注意到的奇怪行爲。
對我來說真的是看起來像一個bug

我對它進行了研究,發現使用onSlect回調函來散步。
但這意味着禁用任何顯示/隱藏內置動畫。
我不認爲這是一個大問題...

請參閱this CodePen demo問題重新創建,並可以與此解決方案進行比較。

而且,下面是易於剪切和粘貼的代碼(沒有所有演示的console.log)

$('#datePickTweaked').multiDatesPicker({ 

    // OPTIONS 
    showAnim:"",       // Disables the show/hide animation. 
    beforeShowDay: $.datepicker.noWeekends, // No week-ends. 
    dateFormat: "d/m/yy", 
    maxDate: "+3m", 
    minDate: "-1m", 
    multidate: true, 
    defaultDate:"0d",      // Default date selection as of "today". 
              // Needed to show the right month on focus. 


    // The "walk-around" is HERE, in the "onSlect" callback. 

    onSelect: function(){ 

     // Get the "datepicker" object. 
     var datepickerObj = $(this).data("datepicker"); 

     // Get the "settings" object within "datepicker". 
     var datepickerSettings = datepickerObj.settings; 

     // Get the last date picked. 
     var tempDay = datepickerObj.selectedDay; 
     var tempMonth = datepickerObj.selectedMonth+1; 
     var tempYear = datepickerObj.selectedYear; 
     var pickedDate = tempDay+"/"+tempMonth+"/"+tempYear; 

     // Remove previous "defaultDate" property. 
     delete datepickerSettings["defaultDate"]; 

     // Add a new defaultDate property : value. 
     datepickerSettings.defaultDate=pickedDate; 

     // "Hacky trick" to avoid having to click twice on prev/next month. 
     $("#datePickTweaked").blur(); 
     setTimeout(function(){ 
      $("#datePickTweaked").focus(); 
     },1);        // 1 millisecond delay seems to be enought!!! 
    } 
}); 
+0

謝謝路易斯這是我的作品。 –

相關問題