0

我正在使用引导日期选择器插件,但它没有以正确的方式更新我的可观察属性。在输入中我有正确的值 - 'mm/dd/yyyy',在淘汰属性中 - 阿拉伯时间 + 03 GMT ..... 是具有相同行为的某人的自定义绑定。

ko.bindingHandlers.datepicker = {
init: function(element, valueAccessor, allBindingsAccessor) {
  //initialize datepicker with some optional options
  var options = allBindingsAccessor().datepickerOptions || {};
  $(element).datepicker(options);

  //when a user changes the date, update the view model
  ko.utils.registerEventHandler(element, "changeDate", function(event) {
         var value = valueAccessor();
         if (ko.isObservable(value)) {
             value(event.date);
         }                
  });
},
update: function(element, valueAccessor)   {
    var widget = $(element).data("datepicker");
     //when the view model is updated, update the widget
    if (widget) {
        widget.date = ko.utils.unwrapObservable(valueAccessor());
        widget.setValue();            
    }
}
};

var model = {
 test_date: ko.observable(new Date('2012/12/12'))
};

ko.applyBindings(model, $("#target")[0]);


 ////////////////////////////////////////////////////////

<input data-bind='datepicker: test_date'/>

<div data-bind="text: test_date"></div>

<input data-bind='datepicker: test_date'/>
4

1 回答 1

0

作为替代方案,您可以使用以下 js 代码来初始化日期选择器:

$('.input-date').datepicker().on("changeDate", function () {
        $(this).find("input").change();
});
于 2013-10-22T06:26:59.960 回答