jquery datepicker设置日期或年份选择

时间:2012-09-14 18:25:51

标签: jquery datepicker

我有一个工作正常的日期选择器,我想要的唯一缺失是在用户选择一年或一个月时在输入中设置日期。目前它只是设定您选择当天的日期。我想要这个,因为用户可能认为日期正在改变,只选择其中一个(年或月),我没有在文档中看到任何引用选择器部分的内容。

2 个答案:

答案 0 :(得分:8)

试试这段代码。如果用户选择不同的月份或年份,它将更改当前日期。如果我误解了你的问题,请告诉我,以便我能够调整我的答案!

$(function () {
    $("#datepicker").datepicker({
        changeMonth: true,
        changeYear: true,
        onChangeMonthYear: function (year, month, inst) {
            var curDate = $(this).datepicker("getDate");
            if (curDate == null)
            return; 
            if (curDate.getYear() != year || curDate.getMonth() != month - 1) {
                curDate.setYear(year);
                curDate.setMonth(month - 1);
                $(this).datepicker("setDate", curDate);
            }
        }
    });
});

由于我对JQueryUI和JQuery都很陌生,请告诉我是否有需要改进的地方!

答案 1 :(得分:2)

因此,您需要做两件事。

首先,您需要允许用户更改月份和年份。这可以通过将changeMonth和changeYear属性设置为true来完成。通过这样做,它还可以访问changeMonthYear事件,该事件将响应月份和年份的变化。所以,你的最终代码看起来像这样......

$(function() {
    $("#datepicker").datepicker({
        changeMonth: true,
        changeYear: true,
        onChangeMonthYear: function(year, month, inst) {
            $(this).val(month + "/" + year);
        }
    });
});​

以下是here示例。