Knockout.js Knockoutjs和JQuery日期选择器。元素在重新渲染后释放日期选择器
当我试图使用id为“eventStartDate”的输入时,在它被隐藏并再次可见后,它会松开日期选择器:Knockout.js Knockoutjs和JQuery日期选择器。元素在重新渲染后释放日期选择器,knockout.js,jquery-ui-datepicker,Knockout.js,Jquery Ui Datepicker,当我试图使用id为“eventStartDate”的输入时,在它被隐藏并再次可见后,它会松开日期选择器: <!-- ko 'if': isEvent.forEditing --> <div class="editor-field"> <div class="editor-label">Початок події: </div> <input type="datetime" name="eventStar
<!-- ko 'if': isEvent.forEditing -->
<div class="editor-field">
<div class="editor-label">Початок події: </div>
<input type="datetime" name="eventStartDate" id="eventStartDate" />
@Html.ValidationMessageFor(model => model.eventStartDate)
</div>
<!-- /ko -->
Початок події:
@Html.ValidationMessageFor(model=>model.eventStartDate)
有人能告诉我如何在重新呈现该对象后强制$(“#eventStartDate”).datepicker()初始化该对象吗
多谢各位
UPD:我知道它必须通过自定义绑定来完成,但是有人能帮我弄清楚,究竟如何?…
< p>最好的办法是考虑使用一个类似于这个答案的答案:或者这个答案: 如果您不需要双向数据绑定,那么最小的自定义绑定就是:ko.bindingHandlers.datepicker = {
init: function(element) {
$(element).datepicker();
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).datepicker("destroy");
});
}
};
最好的办法是考虑使用一个类似于这个答案的答案:或者这个答案: 如果您不需要双向数据绑定,那么最小的自定义绑定就是:
ko.bindingHandlers.datepicker = {
init: function(element) {
$(element).datepicker();
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$(element).datepicker("destroy");
});
}
};
非常感谢!:)这很有效。我会试着多学习一下自定义绑定。非常感谢!:)这很有效。我会试着多学一点。