0

I have a few Jquery datepickers on form.

$('#start, #end').datepicker({
    changeYear: true,
    dateFormat: 'yy',
    onChangeMonthYear: function (dateText, inst) {
        var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
        $(this).datepicker('setDate', new Date(year, 1));
    }
});

$("#fulldate").datepicker({dateFormat: "dd-mm-yy"});

I need to hide some fields in first datepicker calls, and nothing change in last call. If i wrote something like this it change all instance of datepicker.

.ui-datepicker-calendar, .ui-datepicker-month {
   display: none;
 }

Thx for help.

Doom
  • 133
  • 1
  • 9

2 Answers2

1

This code works perfect for me:

$('#start, #end').datepicker({
    changeYear: true,
    dateFormat: 'yy',
   beforeShow: function(dateText, inst) {
        if ($(this).hasClass('hideCalendar')){
            $(inst.dpDiv).addClass('calendar-off');
        } else
            $(inst.dpDiv).removeClass('calendar-off');
    },
    onChangeMonthYear: function (dateText, inst) {
        var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
        $(this).datepicker('setDate', new Date(year, 1));
    }
});

css:

.calendar-off table.ui-datepicker-calendar {
     display:none !important;
}
Doom
  • 133
  • 1
  • 9
0

you can use the event onSelect on datepicker as follows

$('Your-Selector').datepicker({
onSelect : function(){
}
});

for further documentation refer this link

hope this helps .......

Mayank
  • 1,351
  • 5
  • 23
  • 42