Javascript 使用knockout绑定日期选择器';s mindate给另一个约会对象
我有很多约会对象。第一个日期选择器是间隔的开始,第二个是间隔的结束。从逻辑上讲,第一个日期选择器的值不应超过第二个,反之亦然。我写了这段代码: HTML: 值已绑定,但minDate不会在选择日期时更新。请有人指出我的错误好吗Javascript 使用knockout绑定日期选择器';s mindate给另一个约会对象,javascript,jquery,jquery-ui,knockout.js,datepicker,Javascript,Jquery,Jquery Ui,Knockout.js,Datepicker,我有很多约会对象。第一个日期选择器是间隔的开始,第二个是间隔的结束。从逻辑上讲,第一个日期选择器的值不应超过第二个,反之亦然。我写了这段代码: HTML: 值已绑定,但minDate不会在选择日期时更新。请有人指出我的错误好吗 这是一个和一个。因此,只要我在代码中添加datepickerOptions,它就会被破坏。在每次更改时,您可以使用nextdatepicker的setStartDate功能将当前日期(当前元素的)添加到当前日期: update: function(element, val
这是一个和一个。因此,只要我在代码中添加
datepickerOptions
,它就会被破坏。在每次更改时,您可以使用nextdatepicker的setStartDate
功能将当前日期(当前元素的)添加到当前日期:
update: function(element, valueAccessor) {
$(element)
.next('input.datepicker')
.datepicker('setStartDate', $(element).datepicker('getDate'));
}
下面是一个正在使用的JSFIDLE(主要基于您的工作):您正在将
ko.可观察的
选项输入日期选择器。日期选择器不自动知道如何处理这些
您必须在update
方法中处理可观察选项。例如:
var options = allBindingsAccessor().datepickerOptions || {};
// Unwrap observable dates
Object.keys(options).forEach(function(key) {
options[key] = ko.unwrap(options[key]);
});
var widget = $(element).data("datepicker");
if (options.startDate) widget.setStartDate(options.startDate);
if (options.endDate) widget.setEndDate(options.endDate);
这里有一个更新的提琴:try
attr:{minDate:value}
@Rajesh,不,不幸的是它不起作用。@mr.nothing,你能提供一个工作示例吗?(不仅是html/js代码-一个完整的JSFIDLE/SNIPTEP,可以显示两个数据采集器的工作情况)。@Dekel,我完全是前端新手,但我会尽力做到这一点。可能是重复的谢谢,但不幸的是它不适合我的需要。我需要将任意的日期选择器相互绑定。我的例子只是我所拥有的东西的简化。事实上,我的表单具有复杂的依赖关系,我必须处理这些依赖关系。您如何知道哪两个日期选择器是“绑定”的?
update: function(element, valueAccessor) {
$(element)
.next('input.datepicker')
.datepicker('setStartDate', $(element).datepicker('getDate'));
}
var options = allBindingsAccessor().datepickerOptions || {};
// Unwrap observable dates
Object.keys(options).forEach(function(key) {
options[key] = ko.unwrap(options[key]);
});
var widget = $(element).data("datepicker");
if (options.startDate) widget.setStartDate(options.startDate);
if (options.endDate) widget.setEndDate(options.endDate);