Knockout.js datetimpicker自定义绑定淘汰
我在应用程序中使用的是datetimpicker而不是datepicker,使用的是以下绑定Knockout.js datetimpicker自定义绑定淘汰,knockout.js,datetimepicker,Knockout.js,Datetimepicker,我在应用程序中使用的是datetimpicker而不是datepicker,使用的是以下绑定 ko.bindingHandlers.datetimepicker = { init: function (element, valueAccessor, allBindingsAccessor) { var $el = $(element); //initialize datepicker with some optional options
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);
}
}
};
但是在这里,$el.datetimepicker(“getDate”)返回html元素not date当我使用datepicker时,它可以正常工作,但不能使用日期时间选择器根据文档,获取您使用的输入字段的值
new Date($el.val())
而不是
$el.datetimepicker("getDate").Value;
你能用小提琴重新创建它吗?它可以工作,但它返回的是纯字符串而不是日期对象。我可以使用新的日期($el.val())吗?是的,应该可以。我也修改了上面的代码。