在标准jquery.ui.datepicker小部件上,只有下一个和上一个按钮用于选择一个月份。如果我启用年,它将显示在选择框中。jquery ui datepicker next and previous year
什么是在日历两侧实现两个按钮的好方法?一个用于选择下一个月,另一个用于选择下一个年份,在右侧彼此相邻显示,对于左侧的前一个按钮执行相同的操作。
$(function() {
$("#dp").datepicker({changeYear: true});
})
在标准jquery.ui.datepicker小部件上,只有下一个和上一个按钮用于选择一个月份。如果我启用年,它将显示在选择框中。jquery ui datepicker next and previous year
什么是在日历两侧实现两个按钮的好方法?一个用于选择下一个月,另一个用于选择下一个年份,在右侧彼此相邻显示,对于左侧的前一个按钮执行相同的操作。
$(function() {
$("#dp").datepicker({changeYear: true});
})
看看JavaScript文件中prev/next按钮的创建位置。
<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_1329396041654.datepicker._adjustDate('#datepicker', -1, 'M');" title="Prev"><span class="ui-icon ui-icon-circle-triangle-w">Prev</span></a>
以上是生成的上一个按钮的示例。
你需要做的仅仅是创建一个/下一个按钮,有以下内容:
_adjustDate('#datepicker',-1,'Y');
_adjustDate('#datepicker',+1,'Y');
因为它们的功能。 检查样本http://jqueryui.com/demos/datepicker/dropdown-month-year.html并使用prev按钮上的firefox/chrome检查元素 - 将其调整为使用'Y'而不是'M',您将看到它的工作原理。
希望这会有所帮助!
如果你只是想更换一个和上一个按钮的当前行为,使他们点击你的时候会去一年,您可以使用StepMonths选项:
$(".selector").datepicker({ stepMonths: 12 });
最好的解决方案我发现是Leniel的答案与其他一些特性结合在一起,这里是我的代码为我的日期元素
jQuery(document).ready(function(){
jQuery('input.date').each(function(){
jQuery(this).datepicker({dateFormat:'dd/mm/yy', changeMonth: true, stepMonths: 12, showAnim:"slideDown" });
jQuery('#ui-datepicker-div .ui-helper-hidden-accessible').css("position", "absolute !important");
jQuery('#ui-datepicker-div').css('clip', 'auto');
});
希望这可以帮助其他人,因为它没有我一样多!
P.S.其他的东西是这样的datepicker在所有的浏览器(ie6 +,ff3 +,chrome4 +,safari,歌剧)
你不喜欢这样做使用changeYear和changeMonth在一起,而不是在两边的两个按钮日历? – 2011-08-09 16:07:09
也许这会帮助你:http://stackoverflow.com/questions/3423670/jquery-ui-datapicker-how-to-add-next-previous-year-buttons jQuery UI不支持它,但其他插件。 – Tim 2012-01-31 14:54:20