jquery-ui カスタム バインディングを使用して日付ピッカーをテキスト フィールドに追加すると、テンプレートを使用しない場合にのみモデルが更新されます。
HTML:
<script type="text/html" id="datepicker-template">
<span data-bind="text: $data"></span>
<input type="text" data-bind="jqueryui: {widget:'datepicker'}, value: $data">
</script>
<h2>Witout templates</h2>
<div>
<span data-bind="text: from"></span>
<input type="text" data-bind="jqueryui: {widget:'datepicker'}, value: from">
<span data-bind="text: to"></span>
<input type="text" data-bind="jqueryui: {widget:'datepicker'}, value: to">
</div>
<h2>With template<h2>
<div data-bind="template: {name:'datepicker-template', foreach: dates}"></div>
JavaScript:
$(function(){
var ViewModel = function(){
this.from = ko.observable("from");
this.to = ko.observable("to");
this.dates = ko.observableArray([this.from, this.to]);
};
var viewModel = new ViewModel();
ko.applyBindings(viewModel);
});
非常に単純なものが欠けているように感じます。