Multiple-Dates-Picker-for-jQuery-UI
Multiple-Dates-Picker-for-jQuery-UI copied to clipboard
onDeselect event
The default jQuery UI DatePicker only allows for one date to be picked and therefore only supports a onSelect event (theres no deselect, just a select of a different date)
Because this plugin supports deselecting dates, it really lacks a onDeselect event at this moment.
If you change the toggleDate function to look like this `toggleDate : function( date, type ) { if(!type) type = 'picked';
switch(this.multiDatesPicker.mode) {
case 'daysRange':
/* Added to set select status */
this.multiDatesPicker.selected=1;
this.multiDatesPicker.dates[type] = []; // deletes all picked/disabled dates
var end = this.multiDatesPicker.autoselectRange[1];
var begin = this.multiDatesPicker.autoselectRange[0];
if(end < begin) { // switch
end = this.multiDatesPicker.autoselectRange[0];
begin = this.multiDatesPicker.autoselectRange[1];
}
for(var i = begin; i < end; i++)
methods.addDates.call(this, methods.sumDays.call(this,date, i), type);
break;
default:
// adds dates, had to add brackets //
if(methods.gotDate.call(this, date) === false) {
/* Added to set select status */
this.multiDatesPicker.selected=1;
methods.addDates.call(this, date, type, 'True');
} else {
// removes dates //
/* Added to set select status */
this.multiDatesPicker.selected=0;
methods.removeDates.call(this, date, type);
break;
}
}
},
`
Then in the onselect function you can check if it was selected.
if(this.multiDatesPicker.selected) { }
Agree with v1nk0. An onDeselect event is necessary !