2016-08-17 209 views
0

我只從下拉菜單中選擇一年。這裏是我的代碼:jquery datepicker選擇年份

$('#year1').datepicker({ 
    changeMonth: false, 
    changeYear: true, 
    showButtonPanel: false, 
    dateFormat: 'yy', 
    yearRange: "-2:+0", 
    onClose: function(dateText, inst) { 
     var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val(); 
     $(this).datepicker('setDate', new Date(year, 1, 1)); 
    } 
}); 

現在我想關閉面板,當我從下拉菜單中選擇年份。但是選擇年份並沒有結束。但是當我點擊其他地方時,它會被關閉。我嘗試onSelect登錄onClose事件,但此事件不會在選擇年份時觸發。我認爲這個事件在選擇日期時發生。任何人都可以幫我關閉它,當我從下往下選擇一年。 謝謝。

回答

0

當用戶從下拉菜單中選擇一年時,您可以使用onChangeMonthYear選項來運行您的功能。然後,您可以使用hide()方法「關閉」選取器。

這裏一個代碼示例:

$('#year1').datepicker({ 
 
    changeMonth: false, 
 
    changeYear: true, 
 
    showButtonPanel: false, 
 
    dateFormat: 'yy', 
 
    yearRange: "-2:+0", 
 
    onChangeMonthYear: function(year, month, inst){ 
 
    // Set date to picker 
 
    $(this).datepicker('setDate', new Date(year, 1, 1)); 
 
    // Hide (close) the picker 
 
    $(this).datepicker('hide'); 
 
    // Blur to let the picker open on focus in 
 
    $(this).blur(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.js"></script> 
 
<link href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.11.4/jquery-ui.css" rel="stylesheet"/> 
 

 
<input type="text" id="year1">