您应该更改日期选择器 onselect 事件处理程序
onSelect: function( selectedDate ) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
}
到这里:
onSelect: function( selectedDate ) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $( this ).data( "datepicker" ),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings );
dates.not( this ).datepicker( "option", option, date );
var startDate=$("#from")[0].value;
var endDate=$("#to")[0].value;
if (startDate!=="" && endDate!=="") {
startDate=startDate.split("/");
endDate=endDate.split("/");
chart.xAxis[0].setExtremes(
Date.UTC(startDate[2], startDate[0]-1, startDate[1]),
Date.UTC(endDate[2], endDate[0]-1, endDate[1])
);
}
}
这只是一个概念证明,仅当两个输入字段有值时才更新缩放,而不检查它是否是有效日期。
如果只填写了一个字段,您也可以使用chart.xAxis[0].getExtremes() 更改缩放比例。
我对 Jquery 不太了解(我习惯于 Mootools),并且对 datepicker 组件一无所知,也许有一种更优雅的方式来获取间隔,但这取决于你和不要'不依赖 Highstock。