BindingHandlers on my input with knockout not correctly interpreted
我正在使用带有durandal模板的网站。
我的date有以下bindingHandlers:
1 2 3 4 5 6 7 | ko.bindingHandlers.date = { update: function (element, valueAccessor, allBindingsAccessor) { var value = valueAccessor(); // 'Mon Sep 10 2012 02:00:00 GMT+0200 (Paris, Madrid (heure d’été))'; var date = moment(value()); $(element).val((date.format('DD/MM/YYYY'))); } }; |
在我看来这是电话:
1 | <input type="text" class="datepicker" data-bind="date: demandDate" /> |
这用于以正确的格式格式化我的日期。它的工作原理是我的日期在输入字段中的格式正确。
但是问题在于,只要在输入字段中修改了日期,系统就不会检测到任何更改。
如果我将"日期"替换为"值",则当值更改时会正确解释,但我错过了格式设置:
1 | <input type="text" class="datepicker" data-bind="value: demandDate" /> |
有什么主意吗?
从
示例:
1 2 3 4 5 6 7 8 9 10 11 12 | ko.bindingHandlers.date = { init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) { ko.utils.registerEventHandler(element, 'change', function (event) { valueAccessor().demandDate($(element).val()); } }, update: function (element, valueAccessor, allBindingsAccessor) { var value = valueAccessor(); // 'Mon Sep 10 2012 02:00:00 GMT+0200 (Paris, Madrid (heure d’été))'; var date = moment(value()); $(element).val((date.format('DD/MM/YYYY'))); } }; |