2013-09-23 2 views
0

Это мой кодJQuery Datepicker: Месяц и год заселив

1.Click DatePicker и изменить месяц или год.

2.Now поле ввода модифицировано.

3.Закройте дату и нажмите на измененное значение datepicker, не установленное в datepicker.

Пожалуйста, помогите решить эту проблему.

$("#monthYearOnly").datepicker({ 
    buttonImage: "../images/calendar.png", 
    buttonImageOnly: true, 
    changeMonth: true, 
    changeYear: true, 
    showOn: "both", 
    dateFormat: 'yy/mm', 
    maxDate : '0d', 
    defaultDate: '1d', 
    constrainInput: false, 
    buttonText: 'Click to show the month', 
    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)); 
    } 
}); 

$("#monthYearOnly").focus(function (year, month, inst) { 
    var test = $("#monthYearOnly").val(); 
    $(".ui-datepicker-calendar").hide(); 
    $("#ui-datepicker-div").position({ 
    my: "center top", 
    at: "center bottom", 
    of: $(this) 
    }); 
}); 
}); 

Я использую три три DatePicker в одной Jsp странице

Два DatePicker с календарем и другой без календаря (только месяц и год)

+0

FYI, у вас, кажется, есть дополнительный '})' там. –

ответ

0

Вы можете ввести в beforeShow.
Ваш DatePicker может выглядеть следующим образом:

$("#monthYearOnly").datepicker({ 
    buttonImage: "../images/calendar.png", 
    buttonImageOnly: true, 
    changeMonth: true, 
    changeYear: true, 
    showOn: "both", 
    dateFormat: 'yy/mm', 
    maxDate: '0d', 
    defaultDate: '1d', 
    constrainInput: false, 
    buttonText: 'Click to show the month', 

    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() { 
     var dateText = $(this).val(); 
     var isPopulated = dateText.length > 0; 

     if (isPopulated) { 
     var selectedDate = $.datepicker.parseDate("yy/mm/dd", dateText + "/01"); 

     $(this).datepicker("option", "defaultDate", selectedDate); 
     $(this).datepicker("setDate", selectedDate); 
     $(this).datepicker("refresh"); 
     } 
    }, 

}); 

Я считаю, что это поможет вам, что вы пытаетесь достичь.

Смежные вопросы