我使用了一个SyncFusion日期选择器,如下所示:
var datepicker = null;
$("#datepicker").hide();
$("#click").click(function(){
$("#datepicker").show();
datepicker = new ej.calendars.DatePicker({ width: "255px" });
datepicker.appendTo('#datepicker');
});
$("#clickAgain").click(function(){
$("#datepicker").hide();
datepicker.destroy();
});<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<script src="https://cdn.syncfusion.com/ej2/dist/ej2.min.js"></script>
<link href="https://cdn.syncfusion.com/ej2/material.css" rel="stylesheet">
<input id="datepicker" type="text">
<a id="click">Click Here</a>
<!--<a id="clickAgain">Click Again</a>-->
这件事可以用,但我想在这里做一件事,虽然不确定它是否可能。当我单击单击此处锚标记时,它将日期选择器绑定到HTML元素。当我再次单击时,它会重新绑定并被重复。因此,我尝试重新初始化它,然后绑定到HTML元素一次。尝试使用来自SyncFusion文档的SyncFusion()文档,当我使用单独的单击事件时,它会破坏。
我的关注点是清除附加元素,并使用单击此处单击事件重新绑定日期选择器对象。有什么办法我能做到吗?
发布于 2021-09-15 10:39:46
您可以尝试调用refresh方法,该方法再次破坏和呈现控件。参考资料:https://ej2.syncfusion.com/javascript/documentation/api/datepicker#refresh
$("#click").click(function () {
if (datepicker) {
datepicker.refresh();
} else {
$("#datepicker").show();
datepicker = new ej.calendars.DatePicker({ width: "255px" });
datepicker.appendTo('#datepicker');
}
});否则,您可以检查实例,然后使用破坏清除附加元素,然后按照下面的代码再次呈现它。
$("#click").click(function () {
if (datepicker) datepicker.refresh();
$("#datepicker").show();
datepicker = new ej.calendars.DatePicker({ width: "255px" });
datepicker.appendTo('#datepicker');
});https://stackoverflow.com/questions/69171765
复制相似问题