简体   繁体   English

datetimpicker自定义绑定敲除

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM