我有一个div,里面有一个日期选择器。我使用以下代码进行克隆:
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();
这是我代码的简化版。它能正常工作,日历显示在预期位置,但当日期被点击时,之前的一个日期选择器的值会更新..(即来自它克隆的日期选择器)。
我尝试过像这样先销毁(不存在的)实例:
newDiv.find('input.datefield').datepicker('destroy').datepicker();
没什么运气...
我已经检查了它如何跟踪实例并手动清除了数据,代码如下:
newDiv.find('input.datefield').data('datepicker', false).datepicker('destroy').datepicker();
依然没有运气。
我不明白的是,只有日期选择行为存在问题,其他一切都按预期工作。
现在真的不知道还要检查什么了..
function initialiseDates() { $('.datePicker').each(function () { $(this).removeClass('hasDatepicker').removeData('datepicker').unbind().datepicker({ dateFormat: 'dd/mm/yy' }); ; }); };
完美,谢谢! :D - Jamie Hartnoll$(this).removeData('datepicker').unbind().datepicker({format:'yourformathere'});
。 - pjammer