有人成功用过jQuery Mobile DateBox使用 Knockout.js?
在选择日期之前提供要显示的值时,我无法使绑定(bind)正常工作。它仍然是空白的。如果我使用标准文本输入,绑定(bind)工作正常。
<input id="start" type="date" data-bind="value: start" data-role="datebox" data-options='{"mode": "timeflipbox", "useButton": false, "useFocus": true, "dialogForce" : true, "transition" : "slidedown"}'>
//In the view model:
this.start = ko.observable(startTime);
我已经尝试过
$('#start').datebox('refresh')
但运气不好......
最佳答案
我最终为 knockout 编写了一个自定义绑定(bind),这似乎可以解决问题:
ko.bindingHandlers.jqmDateBox = {
update: function (element, valueAccessor, allBindingsAccessor, context) {
setTimeout(function () {
var value = valueAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
$(element).val(valueUnwrapped);
$(element).data('datebox').options.defaultPickerValue = valueUnwrapped;
}, 0);
}
}
用法:
<input id="end" name="end" type="date" data-bind="value: end, jqmDateBox: end" data-role="datebox" />
关于html - jQuery Mobile DateBox 和 Knockout.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12178962/