jquery ui datepicker下一年和前一年

时间:2010-07-02 10:28:13

标签: jquery-ui datepicker

在标准的jquery.ui.datepicker小部件上,只有一个用于选择月份的下一个和上一个按钮。如果我启用年份,它将显示在选择框中。

在日历的两面实现两个按钮的好方法是什么?一个用于选择下个月,另一个用于选择明年,在右侧彼此相邻显示,并对当前左侧的前一个按钮执行相同操作。

$(function() {
  $("#dp").datepicker({changeYear: true});
})

3 个答案:

答案 0 :(得分:5)

我找到的最佳解决方案是将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。其他的东西是这样的,因为日期选择器适用于所有浏览器(即6 +,ff3 +,chrome4 +,safari,opera)

答案 1 :(得分:3)

如果您只想替换“下一个”和“上一个”按钮的当前行为,以便在单击它们时再转到另一年,则可以使用StepMonths选项:

$( ".selector" ).datepicker({ stepMonths: 12 });

答案 2 :(得分:1)

在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>

以上是生成的prev按钮的示例。

您需要做的只是创建具有以下内容的上一个/下一个按钮:

_adjustDate('#datepicker',-1,'Y');
_adjustDate('#datepicker',+1,'Y');

作为他们的功能。 检查http://jqueryui.com/demos/datepicker/dropdown-month-year.html处的样本并使用上一页按钮上的firefox / chrome'visument元素 - 将其调整为使用'Y'而不是'M',您将看到它是如何工作的。

希望这有帮助!