重新加载的Jquery UI日期选择器不';不能在内联模式下工作
我在内联模式下加载了UI datepicker。因此,我制作了两个按钮来加载和删除它。但当我再次重新加载它时,datepicker显示,但无法选择任何日期或更改月份,firebug报告了错误 只是简单的代码: js:重新加载的Jquery UI日期选择器不';不能在内联模式下工作,jquery,jquery-ui,user-interface,datepicker,jquery-ui-datepicker,Jquery,Jquery Ui,User Interface,Datepicker,Jquery Ui Datepicker,我在内联模式下加载了UI datepicker。因此,我制作了两个按钮来加载和删除它。但当我再次重新加载它时,datepicker显示,但无法选择任何日期或更改月份,firebug报告了错误 只是简单的代码: js: var panelContents1=$('',{'id':'igto1_WH'}).append($('',{'id':'igto1_whDatePicker'}).datepicker()); $('#load')。单击(function(){$('#loadDiv').htm
var panelContents1=$('',{'id':'igto1_WH'}).append($('',{'id':'igto1_whDatePicker'}).datepicker());
$('#load')。单击(function(){$('#loadDiv').html(panelContents1);})
$('#empty')。单击(函数(){$('#loadDiv')。empty();})
和html:
<p id="load"> load </p>
<p id="empty"> empty </p>
<div id="loadDiv"></div>
加载
空
非常感谢 我自己的解决方案: $('#load').click(function(){
$('#loadDiv').html(panelContents1).find('#igto1_whDatePicker').datepicker();
})
$('#empty').click(function(){
$('#igto1_whDatePicker').datepicker('destroy');
$('#loadDiv').empty();
})
var panelContents1 = $('<div />',{'id':'igto1_WH'}).append($('<div />',{'id':'igto1_whDatePicker'}));
$('#加载')。单击(函数(){
$('#loadDiv').html(panelContents1).find('#igto1#whDatePicker').datepicker();
})
$('#空')。单击(函数(){
$(“#igto1_whDatePicker”).datepicker('destroy');
$('#loadDiv').empty();
})
var panelContents1=$('',{'id':'igto1_WH'}).append($('',{'id':'igto1_whDatePicker'}));
在演示中发生这种情况的原因是,您正在创建变量panelContents1
并将其附加到DOM中,然后是$('#loadDiv').empty()代码>调用正在销毁日期选择器所需的重要元素。稍后您将添加相同的变量(元素集),这是所有问题的根源
作为一种修复,在单击处理程序中创建datepicker将每次创建一个新的datepicker,而不存在附加一个现已损坏的datepicker的问题,如下所示:
$('#load').click(function(){
var panelContents1 = $('<div />',{'id':'igto1_WH'}).append($('<div />',{'id':'igto1_whDatePicker'}).datepicker());
$('#loadDiv').html(panelContents1);
});
$('#加载')。单击(函数(){
var panelContents1=$('',{'id':'igto1_WH'}).append($('',{'id':'igto1_whDatePicker'}).datepicker());
$('#loadDiv').html(panelContents1);
});
。基本上,只需在追加时创建一个新元素,而不是受以前的DOM交互(如演示)影响的元素。对于那些对上述代码进行双重处理的人来说,.您需要多个日期选择器还是始终只有一个可见?
$('#load').click(function(){
var panelContents1 = $('<div />',{'id':'igto1_WH'}).append($('<div />',{'id':'igto1_whDatePicker'}).datepicker());
$('#loadDiv').html(panelContents1);
});