我将 jquery-ui 的 datepicker 与 Ractive 模板一起使用,双向绑定似乎无法正常工作。
我的输入如下所示:
<input type="text" value="{{value}}" decorator="picker">
然后我通过“picker”装饰器实例化日期选择器:
decorators: {
picker: function(node) {
$(node).datepicker();
return {
teardown: function() {
$(node).datepicker("destroy");
}
};
},
}
日期选择器完美显示,但值没有正确更新。如果我在 {{value}} 上通过观察者,我会看到 Ractive 认为该值在由 datepicker 设置后并没有改变。如果我单击该字段,然后再次退出(失去焦点),观察者将触发,并设置值。
在我的装饰器中,我可以设置一个回调以使用 datepickers“onSelect”事件触发,但是如何从装饰器函数强制执行一个积极的更改事件?
decorators: {
picker: function(node) {
$(node).datepicker({
onSelect: function(dateValue) {
console.log("datevalue set");
//I've tried this already
$(node).change();
//and
$(node).trigger("change");
//neither work
}
});
return {
teardown: function() {
$(node).datepicker("destroy");
}
};
},
}