如何将2个Jquery UI datepicker与Knockout链接?

时间:2013-02-06 15:06:52

标签: jquery jquery-ui knockout.js datepicker

我想将startDatePicker与endDatePicker相关联,有没有办法将它们与Knockout.js链接?

当用户选择新的开始日期时,将更新endDatePicker,将minDate设置为新的开始日期,并且关于新日期是否在其自己的日期之后,它还将更新当前日期?

先谢谢,我正在尝试使用自定义绑定器,但我无法正常工作。

2 个答案:

答案 0 :(得分:2)

该代码应该有效,在选择最小日期时,它会将第二个日期选择器的minDate设置为其值,反之亦然,最大值

$('#min').datepicker({
    onSelect: function( selectedDate ) {
    $( "#max" ).datepicker( "option", "minDate", selectedDate );
    }
})

$('#max').datepicker({
    onSelect: function( selectedDate ) {
    $( "#min" ).datepicker( "option", "maxDate", selectedDate );
    }
})

答案 1 :(得分:2)

您可以使用subscribe订阅可观察的更改。文档在这里:http://knockoutjs.com/documentation/observables.html#explicitly_subscribing_to_observables

var ViewModel = function() {
   var self = this;
   self.startDatePicker = ko.observable();
   self.endDatePicker = ko.observable();

   self.startDatePicker.subscribe(function(newValue) {
       // set the value on the other one
   });

   self.endDatePicker.subscribe(function(newValue) {
       // set the value on the other one
   });
}; 

其余的取决于你的约束力......