将 DatePicker 对象重新绑定到 HTML 元素
Rebind DatePicker Object To HTML Element
我有一个 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 文档中的 destroy(),当我使用单独的点击事件时它会破坏。
我关心的是清除附加元素并使用 单击此处 单击事件重新绑定日期选择器对象。我有什么办法可以做到吗?
您可以尝试调用刷新方法,该方法会再次销毁并呈现控件。
参考: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');
}
});
否则您可以检查实例,然后使用 destroy 清除附加元素并按照以下代码再次渲染它。
$("#click").click(function () {
if (datepicker) datepicker.refresh();
$("#datepicker").show();
datepicker = new ej.calendars.DatePicker({ width: "255px" });
datepicker.appendTo('#datepicker');
});
我有一个 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 文档中的 destroy(),当我使用单独的点击事件时它会破坏。
我关心的是清除附加元素并使用 单击此处 单击事件重新绑定日期选择器对象。我有什么办法可以做到吗?
您可以尝试调用刷新方法,该方法会再次销毁并呈现控件。 参考: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');
}
});
否则您可以检查实例,然后使用 destroy 清除附加元素并按照以下代码再次渲染它。
$("#click").click(function () {
if (datepicker) datepicker.refresh();
$("#datepicker").show();
datepicker = new ej.calendars.DatePicker({ width: "255px" });
datepicker.appendTo('#datepicker');
});