2015-06-16 22 views
0

我有一個彈出菜單<div class="flyout">,其中包含我的日期選擇器輸入。彈出菜單在用戶點擊div外時關閉。當jQuery UI創建日期選擇器時,它會直接在<body>標記下創建。因此,當我嘗試點擊我的日期選擇器上的上一個/下一個按鈕時,我的彈出菜單關閉,並將我的日期選擇器留在正文中。我不想內聯日期選擇器,但我想在我的flyout div下創建我的日期選擇器。有什麼辦法可以實現嗎?我可以創建一個特定div下的jQuery UI日期選擇器

我目前的HTML結構

<body> 
<div class="main_pane"> </div> 
    <div class="flyout"> 
     <label class="date">date:</label> <input class="start_date" id="from"/> 
    </div> 
<body> 

我的日期選擇器

$("#from").datepicker({ 
      dayNamesMin: [ "S", "M", "T", "W", "T", "F", "S" ], 
      firstDay: 1, 
      dateFormat: "d MM, yy", 
      autoclose: true, 
      onClose: function(selectedDate) { 
      $("#to").datepicker("option", "minDate", selectedDate); 

      } 
}); 

回答

0

它看起來並不像jQuery UI Datepicker小部件都有暴露的事件處理程序,它被創建之後,你可以操作,但因爲它這個任務相當快,這應該做的伎倆:

$(function() { 
    var datePicker = $("#from").datepicker({ 
     dayNamesMin: ["S", "M", "T", "W", "T", "F", "S"], 
     firstDay: 1, 
     dateFormat: "d MM, yy", 
     autoclose: true, 
     onClose: function (selectedDate) { 
      $("#to").datepicker("option", "minDate", selectedDate); 
     } 
    }); 

    // Use .appendTo() to move the element to another element. 
    datePicker.datepicker("widget").appendTo($(".flyout")); 
}); 

Demo

jQuery UI Datepicker Widget API

相關問題