Jquery ui jQuery UI日期选择器';s minDate选项重置当前值
我将jQuery UI日期选择器与KnockoutJS集成Jquery ui jQuery UI日期选择器';s minDate选项重置当前值,jquery-ui,knockout.js,datepicker,Jquery Ui,Knockout.js,Datepicker,我将jQuery UI日期选择器与KnockoutJS集成 <input class="input-small hasDatepicker" data-bind="datepicker: ItemCurrentDate, datepickerOptions: { dateFormat: 'dd/mm/yy', changeMonth: true, changeYear: true, minDate: ItemStartDate(), maxDate: ItemEndDate(), date
<input class="input-small hasDatepicker" data-bind="datepicker: ItemCurrentDate, datepickerOptions: { dateFormat: 'dd/mm/yy', changeMonth: true, changeYear: true, minDate: ItemStartDate(), maxDate: ItemEndDate(), datePickerPlaceholder: 'dd/mm/yy' } name="ItemCurrentDate" type="text" value="" placeholder="dd/mm/yy" id="dp12345">
不完全遵循这个问题,但这行得通吗?这是一把小提琴。从你的问题来看,我不确定最小和最大日期是否是可以改变的可观测数据。我假设它们是静态的,但如果不是,您可能需要更改自定义绑定的更新部分,可能需要销毁日期选择器并使用新的最小和最大日期重新创建它
您可以运行下面的解决方案,也可以使用上面提到的小提琴
ko.bindingHandlers.datepicker={
init:function(元素、valueAccessor、allBindingsAccessor){
var options=allBindingsAccessor().datePickeroptions | |{};
options.onSelect=功能(已选择,evnt){
var可观测=valueAccessor();
可观察(选定);
};
$(元素).datepicker(选项);
//设定初始值
$(元素).datepicker(“setDate”,valueAccessor());
//处理处置(如果KO通过模板绑定移除)
ko.utils.domNodeDisposal.addDisposeCallback(元素,函数(){
$(元素)。日期选择器(“销毁”);
});
},
//视图模型更改时更新控件
更新:函数(元素、valueAccessor、allBindingsAccessor){
var value=ko.utils.unwrapobbservable(valueAccessor());
$(元素).datepicker(“setDate”,valueAccessor());
}
};
函数模型(){
var self=这个;
this.itemCurrentDate=ko.可观察(新日期(2017年1月26日));
this.itemStartDate=ko.可观察(新日期(2017年1月1日));
this.itemEndDate=ko.可观察(新日期(2017年2月22日));
this.resetDate=函数(){
自身项目当前日期(新日期(2017年1月26日));
}
}
var mymodel=新模型();
$(文档).ready(函数(){
ko.应用绑定(mymodel);
});代码>
日期:
不完全遵循这个问题,但这会起作用吗?这是一把小提琴。从你的问题来看,我不确定最小和最大日期是否是可以改变的可观测数据。我假设它们是静态的,但如果不是,您可能需要更改自定义绑定的更新部分,可能需要销毁日期选择器并使用新的最小和最大日期重新创建它
您可以运行下面的解决方案,也可以使用上面提到的小提琴
ko.bindingHandlers.datepicker={
init:function(元素、valueAccessor、allBindingsAccessor){
var options=allBindingsAccessor().datePickeroptions | |{};
options.onSelect=功能(已选择,evnt){
var可观测=valueAccessor();
可观察(选定);
};
$(元素).datepicker(选项);
//设定初始值
$(元素).datepicker(“setDate”,valueAccessor());
//处理处置(如果KO通过模板绑定移除)
ko.utils.domNodeDisposal.addDisposeCallback(元素,函数(){
$(元素)。日期选择器(“销毁”);
});
},
//视图模型更改时更新控件
更新:函数(元素、valueAccessor、allBindingsAccessor){
var value=ko.utils.unwrapobbservable(valueAccessor());
$(元素).datepicker(“setDate”,valueAccessor());
}
};
函数模型(){
var self=这个;
this.itemCurrentDate=ko.可观察(新日期(2017年1月26日));
this.itemStartDate=ko.可观察(新日期(2017年1月1日));
this.itemEndDate=ko.可观察(新日期(2017年2月22日));
this.resetDate=函数(){
自身项目当前日期(新日期(2017年1月26日));
}
}
var mymodel=新模型();
$(文档).ready(函数(){
ko.应用绑定(mymodel);
});代码>
日期: