diff --git a/client/js/masterFilter.js b/client/js/masterFilter.js index 2e3b7a8..f9c4781 100644 --- a/client/js/masterFilter.js +++ b/client/js/masterFilter.js @@ -78,15 +78,19 @@ let symbolChanged=(newSymbol)=>{ $("#tbSymbol").text(getCurrentSymbol()); getAvailDatesForSymbol(getCurrentSymbol()).done(_=>{ - $("#datePicker").datepicker('destroy'); - $("#datePicker").datepicker({beforeShowDay:beforeShowDay}) - .on('changeDate', (e)=>{ - if (e.date !== undefined) { - console.log("DatePicker changed date",e.date); - filterContext.theDate=e.date.toISOString().substr(0,10); - showTimesForDay(filterContext.theDate); - } - }); + $("#datePicker").datepicker('destroy'); + $("#datePicker").datepicker({beforeShowDay:beforeShowDay}); + if (document.getElementById("datePicker").hasHandler !== true) { // work around multiple binding of the eventhandler - it seems that destroy doesn't remove the old handler.... + $("#datePicker").datepicker().on('changeDate', (e)=>{ + if (e.date !== undefined) { + console.log("DatePicker changed date",e.date); + filterContext.theDate=e.date.toISOString().substr(0,10); + showTimesForDay(filterContext.theDate); + } + }); + document.getElementById("datePicker").hasHandler= true; + } + if (filterContext.theDate === undefined) { console.log("no date in contest, setting date to the last in chain."); filterContext.theDate=filterContext.availableDates[filterContext.availableDates.length-1].Date;