add eventhandler to jquery UI datepicker after its creation

Thomas Stock picture Thomas Stock · Jul 30, 2009 · Viewed 8k times · Source

I have the following scenario:

In my masterpage I have:

$(".datepicker").datepicker({
    changeYear: true,
    changeMonth: true,
    dateFormat: "dd/mm/yy",
    duration: 'fast'
});

With this, every input field that I assign the class "datepicker" to, shows the jquery UI datepicker when clicked.

Now I have a datepicker on a page that should have its "onSelect" event handled. What would be the way considered best practise to do this.

Options I see:

  • give that 1 datepicker another class, like datepickerWithSelectEvent. What I dont like about this solution is that I get duplicate code for initializing the changeYear, changeMonth, ... . If I want to change the datepickers in a project I'll have to remember changing this in 2 places
  • Somehow add the eventhandler after the creation of the datepicker. This seems cleanest, but I don't really know how to do it. Anyone?

Answer

kgiannakakis picture kgiannakakis · Jul 30, 2009

Have you tried:

$(".datepickerSelect").datepicker( 'option' , 'onSelect', function() {} );