我有一个 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();
这是我的代码的精简版本。它有效并且日历按预期显示在预期的位置..但是当单击日期时,previousdatepicker 的值被更新..(它被克隆的那个值)。
我之前尝试过像这样销毁(不存在的)实例:
newDiv.find('input.datefield').datepicker('destroy').datepicker();
没有运气 ..
我检查了它如何跟踪实例并手动清除数据,如下所示:
newDiv.find('input.datefield').data('datepicker', false).datepicker('destroy').datepicker();
还是没有运气。
我不明白的是,只有日期选择行为有问题,其他一切都按预期工作。
我现在真的不知道还要检查什么..
这对我来说适用于 jQuery UI 1.7.2
var mydiv = $('#someDiv');
mydiv.find('input.datefield').datepicker();
var newDiv = mydiv.clone(false).attr("id", "someDiv2").insertAfter(mydiv);
newDiv.find('input.datefield')
.attr("id", "")
.removeClass('hasDatepicker')
.removeData('datepicker')
.unbind()
.datepicker();
Check http://jsbin.com/ahoqa3/2 http://jsbin.com/ahoqa3/2快速演示
顺便提一句。您的问题代码中似乎有不同的错误。 CSS 类是hasDatepicker
not hadDatepicker
有一次你写了mydiv
下一次变量是myDiv
这是不一样的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)