Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新加载的Jquery UI日期选择器不';不能在内联模式下工作_Jquery_Jquery Ui_User Interface_Datepicker_Jquery Ui Datepicker - Fatal编程技术网

重新加载的Jquery UI日期选择器不';不能在内联模式下工作

重新加载的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

我在内联模式下加载了UI datepicker。因此,我制作了两个按钮来加载和删除它。但当我再次重新加载它时,datepicker显示,但无法选择任何日期或更改月份,firebug报告了错误

只是简单的代码: js:

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); 
});