jQuery實現下拉選單(內容為時間)的實時更新及圖表的隨動更新的方法

NO IMAGE

工程分享:

模組1:下拉選單的實時顯示最近一週時間:


//顯示日期下拉選框
for(var i=0;i<7;i  ){
$("#choose1>option:eq(" i ")").html(GetDateStr(-i)); 
$("#choose1>option:eq(" i ")").attr("value",GetDateStr(-i));//該語句為了便於下拉選中的資料的值
} 
//這個是上述的對應函式
//以下為日期下拉選擇框自動調整
function GetDateStr(AddDayCount) 
{ 
var dd = new Date(); 
dd.setDate(dd.getDate() AddDayCount);//獲取AddDayCount天后的日期 
var y = dd.getFullYear(); 
var m = dd.getMonth() ;
var d = dd.getDate(); 
return y "-" m "-" d;
}

輸出格式為年-月-天

在工程中,實現的是選擇對應傳參重新整理table值,對應內容如下:


$("#choose1").bind("change",function(){
var value=$(this).val();
var result={"time":value " 00:15:00"};//工程重新整理時間為凌晨,所以設定時間格式為延遲15分鐘
//注意,此處的result是將字串格式化為物件
refreshData(result);//呼叫Hcharts繪製函式
}); 
//對應的函式為:
function refreshData(result){
$.ajax({
type: "POST",//請求格式設定為post型別
url:actionname,
dataType:"text", //ajax返回值設定為text(json格式也可用它返回,可列印出結果,也可設定成json)
data:result,//此處的result是格式化的傳過來的所選的時間,進而使得action帶時間引數傳遞
success: function(json){ 
var obj = $.parseJSON(json); //使用這個方法解析json
var xAxisData=new Array();//轉換成陣列
var yAxisData=new Array();
var AxisData=new Array();
var str=new Array(),x=new Array();y=new Array();
for(var i=0;i<obj.resultData.length;i  ){
xAxisData[i]=obj.resultData[i].date;
yAxisData[i]=obj.resultData[i].value;
str=xAxisData[i].split(" ");
x=str[0].split("-");
y=str[1].split(":");
for(var j=0;j<3;j  )
{x[j]=parseInt(x[j]);
y[j]=parseInt(y[j]);}
var year=x[0],month=x[1]-1,day=x[2],hour=y[0],minute=y[1],second=y[2];
AxisData[i]=[Date.UTC(year,month,day,hour,minute,second),yAxisData[i]];//注意,這裡是格式化的時間格式(符合hcharts表的要求)
}
$('#box').highcharts({
chart: {
type: 'spline',//型別設定
marginBottom:70
},
title: {
margin:10
},
xAxis: {
type: 'datetime',
title: {
text: '時間',
align:'high'
},
dateTimeLabelFormats:{
second:'%Y-%m-%d %H:%M:%S'
}
},
yAxis: {
title: {
text: '能耗',
rotation:0,
align:'high'
} 
},
tooltip: { 
formatter: function () { 
return '<b>'   "乙烯生產能效值: " this.y   '</b><br/>'   
Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x)   '<br/>' ; //格式化輸出
} 
}, 
plotOptions: {//在這個位置可以設定比如像折線圖中點的點選事件
spline: {
marker: {
enabled: true
}
},
series:{
cursor:'pointer',
point:{
events:{
click:
function(){//點選事件對應的函式實現以及引數定義
var timee=new Date(this.x);
timee.setHours(timee.getHours()-8);//獲取AddDayCount天后的日期 
var yy = timee.getFullYear(); 
var mt = timee.getMonth() 1;
var dd = timee.getDate();
var hh=timee.getHours();
var mm=timee.getMinutes();
var ss=timee.getSeconds();
if(hh<10) hh="0" hh;
if(mm<10) mm="0" mm;
if(ss<10) ss="0" ss;
if(dd<10) dd="0" dd;
if(mt<10) mt="0" mt;//對於個位數,對應的十位設定為0
var action=yy '-' mt '-' dd ' ' hh ':' mm ':' ss;
$("#Time_click").html(action); 
var result={"time":action};
refreshTable(result)//重新整理表 
}
}
}
},
series:[{
name:meaning,
data:AxisData//此處寫入要進行顯示的資料
}]
}); 
refreshTable(result);
}
}
}); 
}

以上所述是小編給大家介紹的jQuery實現下拉選單(內容為時間)的實時更新及圖表的隨動更新的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對指令碼之家網站的支援!