I have a div in which there is a datepicker. I use something like this to clone it:
mydiv = $('#someDiv');
// works fine so far
mydiv.find('input.datefield').datepicker();
// clone without the events and insert
newDiv = myDiv.clone(false).insertAfter(myDiv);
// datepicker won't re-init if this class is present
newDiv.find('.hadDatepicker').removeClass('hadDatepicker');
// reinitialize datepicker
newDiv.find('input.datefield').datepicker();
This is a stripped down version of my code. It works and the calendar shows up as expected where it is expected .. but when a date is clicked, the previous datepicker's value gets updated.. (the one from which it was cloned).
I've tried to destroy the (inexisting) instance before like this:
newDiv.find('input.datefield').datepicker('destroy').datepicker();
No luck ..
I've checked how it keeps track of instances and manually cleared the data like this:
newDiv.find('input.datefield').data('datepicker', false).datepicker('destroy').datepicker();
Still no luck.
What I don't understand is that only the date selection behavior is buggy, everything else works as expected.
I really don't know what else to check now ..
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…