2

我有一个可以正常工作的日期选择器,我唯一想要的就是在用户选择一年或一个月时在输入中设置日期。目前,它只是设置您选择日期的日期。我想要这个,因为用户可能认为只需选择其中一个(年或月)就可以更改日期,而我在文档上看不到任何与选择器的该部分相关的内容。

4

2 回答 2

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 完全陌生,如果有什么需要改进的,请告诉我!

于 2012-09-14T19:08:26.420 回答
2

因此,您需要做两件事。

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

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

这里是一个例子。

于 2012-09-14T19:05:53.547 回答