2012-04-12 68 views
0

我使用的是月份和年份下拉菜單中的jQuery UI日曆部件,如顯示在此處更改日期:http://jqueryui.com/demos/datepicker/#dropdown-month-yearjQuery UI的日曆控件改變時,一年或一個月

顯然有些人挑了一天,然後打開該小工具再次,選擇一年和一個月,讓它關閉。問題是,選擇年份和月份不會更改輸入日期的年份和月份,只會顯示給用戶的年份和月份。

有沒有辦法讓年月對日期有直接影響,所以如果我有日期22/06/2012和選擇1990年,它會自動去到22/06/1990。

回答

1

您應該設置此事件的觸發器onChangeMonthYear

例如:

$(function() { 
    $("#datepicker").datepicker({ 
     changeMonth: true, 
     changeYear: true, 
     onChangeMonthYear: function(year, month, inst) { 
     if(inst.currentYear != inst.drawYear || inst.currentMonth != inst.drawMonth) { 
      $(this).datepicker("setDate", new Date(year, month - 1, inst.selectedDay)); 
     } 
    }); 
}); 
+0

感謝您的回答。這真的很有幫助。我唯一的問題是,我讓國際化文件選擇日期格式,所以我會通過這樣做來打破抽象,此外,我需要更新包含iso格式日期的隱藏輸入。我試圖找出是否有直接的方法來做到這一點。 – Pablo 2012-04-12 14:14:29

+0

你可以使用像這樣的東西: ''''=新日期(Date.parse(年+' - '+月+' - '+ inst.selectedDay)); d.format('yy-mm-dd');' 因此,您可以將其設置爲您想要的格式。 – kpotehin 2012-04-12 14:24:35

+0

我發現了一個工作解決方案建立在你的頂部,並相應地更新了答案。謝謝! :) – Pablo 2012-04-12 14:32:58

相關問題