2

下面是我在我的应用程序中使用的 jQuery datepicker,它运行良好。现在的问题是我想将其限制在当前财政年度,为此我正在使用:

maxDate: '03/30/2013' & minDate:'04/01/2012'

但它不适用于当前的 dateFormat: 'MM-yy' 我正在使用 & 最糟糕的是我无法更改 dateFormat。

var postForm = false;
    $(function () {
        $('.Month-Picker').datepicker({
            changeMonth: true,
            changeYear: true,
            showButtonPanel: false,
            maxDate: '03/30/2013',
            minDate:'04/01/2012',
            dateFormat: 'MM-yy',
            onChangeMonthYear: function () { postForm = true; },
            onClose: function (dateText, inst) {
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
            },
            beforeShow: function (input, inst) {
                if ((datestr = $(this).val()).length > 0) {
                    year = datestr.substring(datestr.length - 4, datestr.length);
                    month = jQuery.inArray(datestr.substring(0, datestr.length - 5), $(this).datepicker('option', 'monthNames'));
                    $(this).datepicker('option', 'defaultDate', new Date(year, month, 1));
                    $(this).datepicker('setDate', new Date(year, month, 1));
                    postForm = false;
                }
            }
        });
    });

    $(document).ready(function () {
        $("#aspnetForm").click(function () {
            if (postForm == true) {
                postForm = false;
                var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
                var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
                $(this).datepicker('setDate', new Date(year, month, 1));
            }
        });
    });

请帮帮我。

4

2 回答 2

3

尝试通过声明 Javascript 日期来设置最小和最大日期:

$('.Month-Picker').datepicker({
    changeMonth: true,
    changeYear: true,
    showButtonPanel: false,
    maxDate: new Date(2013,3,30),
    minDate: new Date(2012,4,01),
    dateFormat: 'MM-yy',

http://api.jqueryui.com/datepicker/#option-minDate

http://www.w3schools.com/js/js_obj_date.asp

于 2013-02-20T22:02:22.570 回答
0

您可以尝试使用以下代码

    $('#User_to_date').datepick({
        changeMonth: true,
        changeYear: true,
        showButtonPanel: false,
        dateFormat: 'MM-yy',
        onChangeMonthYear: function () { postForm = true; },
        onClose: function (dateText, inst) {
            var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
            var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
            $(this).datepicker('setDate', new Date(year, month, 1));
        },
        beforeShow: function (input, inst) {
            if ((datestr = $(this).val()).length > 0) {
                year = datestr.substring(datestr.length - 4, datestr.length);
                month = jQuery.inArray(datestr.substring(0, datestr.length - 5), $(this).datepicker('option', 'monthNames'));
                $(this).datepicker('option', 'defaultDate', new Date(year, month, 1));
                $(this).datepicker('setDate', new Date(year, month, 1));
                postForm = false;
            }
        }
    });

我在我的项目中使用此代码进行测试,并以“February-21”格式获取日期,只需将datepicker更改为datepick

于 2013-02-20T22:00:23.910 回答