[英]datetimpicker custom binding knockout
i am using datetimpicker not datepicker in my application using https://github.com/xdan/datetimepicker/blob/master/jquery.datetimepicker.js i used following binding 我在绑定后使用https://github.com/xdan/datetimepicker/blob/master/jquery.datetimepicker.js在我的应用程序中使用datetimpicker而不是datepicker
ko.bindingHandlers.datetimepicker = {
init: function (element, valueAccessor, allBindingsAccessor) {
var $el = $(element);
//initialize datepicker with some optional options
var options = allBindingsAccessor().datepickerOptions || {};
$el.datetimepicker(options);
//handle the field changing
ko.utils.registerEventHandler(element, "change", function () {
var observable = valueAccessor();
var $el = $(element);
observable($el.datetimepicker("getDate").Value);
});
//handle disposal (if KO removes by the template binding)
ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
$el.datetimepicker("destroy");
});
},
update: function (element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor()),
$el = $(element),
current = $el.datetimepicker("getDate").Value;
if (value - current !== 0) {
$el.datetimepicker("setDate", value);
console.log("just set", $el.datetimepicker("getDate").Value);
}
}
};
but here $el.datetimepicker("getDate") returns html element not date when i use datepicker it works fine but not with date time picker 但是这里$ el.datetimepicker(“ getDate”)返回html元素而不是日期,当我使用datepicker时,它可以正常工作,但不能与日期时间选择器一起使用
According to the documentation, to get the value of the input field you use 根据文档,要获取输入字段的值,请使用
new Date($el.val())
instead of 代替
$el.datetimepicker("getDate").Value;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.