EXT 를 사용 하여 무 리 셋 동적 호출 주식 정보 실현
function ajaxRequest(){
Ext.Ajax.request({
url: 'http://hq.sinajs.cn/list=sh000001,sh601939,sh600016,sh600528,sh600667,sh601390,sh601398,sh601857,sh600028,',
success: function(response){
var stocks = response.responseText.split(';');
var length = stocks.length - 2;
var dataset = new Array(length);
for(var i=0; i<length; i++){
var content = stocks[i];
var temp1 = content.split('=')[0];
var temp2 = content.split('=')[1];
var code = temp1.substr(temp1.length - 6, 6);
var temp3 = temp2.replace('"', '');
var name = temp3.split(',')[0];
var tday_f = temp3.split(',')[1];
var yest_f = temp3.split(',')[2];
var curr_f = temp3.split(',')[3];
var temp_f = curr_f - yest_f;
var data_i = new Array(9);
data_i[0] = code;
data_i[1] = name;
data_i[2] = curr_f;
data_i[3] = tday_f;
data_i[4] = yest_f;
data_i[5] = temp_f.toFixed(2);
data_i[6] = ((temp_f / yest_f) * 100).toFixed(2);
data_i[7] = temp3.split(',')[4];
data_i[8] = temp3.split(',')[5];
dataset[i] = data_i;
}
var store = new Ext.data.SimpleStore({
fields: [
{name: 'a1'},
{name: 'a2'},
{name: 'a3'},
{name: 'a4'},
{name: 'a5'},
{name: 'a6'},
{name: 'a7'},
{name: 'a8'},
{name: 'a9'}
]
});
//store.loadData(dataset);
var grid = new Ext.grid.GridPanel({
//renderTo: document.body,
store: store,
columns: [
{header: " ", width: 100, sortable: true, dataIndex: 'a1', id:'a1'},
{header: " ", width: 100, sortable: true, dataIndex: 'a2'},
{header: " ", width: 100, sortable: true, dataIndex: 'a3'},
{header: " ", width: 100, sortable: true, dataIndex: 'a4'},
{header: " ", width: 100, sortable: true, dataIndex: 'a5'},
{header: " ", width: 100, sortable: true, dataIndex: 'a6', renderer: change},
{header: " ", width: 100, sortable: true, dataIndex: 'a7', renderer: change},
{header: " ", width: 100, sortable: true, dataIndex: 'a8'},
{header: " ", width: 100, sortable: true, dataIndex: 'a9'}
],
stripeRows: true,
autoExpandColumn: 'a1',
height:240,
width:740,
title:' '
});
if(document.getElementById("stockgrid").innerHTML == ""){
grid.render('stockgrid');
grid.getSelectionModel().selectFirstRow();
}
grid.store.loadData(dataset);
}
});
}
function change(val){
if(val < 0){
return '<span style="color:green;">' + val + '</span>';
}else if(val > 0){
return '<span style="color:red;">' + val + '</span>';
}
return val;
}
Ext.onReady(function(){
// http://extjs.com/s.gif
Ext.BLANK_IMAGE_URL = "resources/images/default/s.gif";
Ext.state.Manager.setProvider(new Ext.state.CookieProvider());
ajaxRequest();
window.setInterval("ajaxRequest()",3000);
});
작업 디 렉 터 리 에 stock.html 파일 을 새로 만 듭 니 다.코드 는 다음 과 같 습 니 다.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title> </title>
<link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" />
<script type="text/javascript" src="resources/jscript/ext-base.js"></script>
<script type="text/javascript" src="resources/jscript/ext-all.js"></script>
<script type="text/javascript" src="resources/jscript/stock.js"></script>
</head>
<body>
<div id="stockgrid"></div>
</body>
</html>
여기 서 볼 수 있 듯 이 Ext 기술 을 사용 하여 동적 페이지 는 페이지 표현 층 에서 데이터 취득 까지 모두 Ext 에 의 해 처리 된다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ext.form.ComboBox 편집 페이지 표시 값 문제최근 EXTJS 3.0 개발 프로젝트, 페이지 폼에 ComboBox가 사용되었습니다. 어떻게 편집 페이지에 들어갈 때 백그라운드에서 전해지는 값을 표시할 수 있습니까?세 가지 방법이 모두 통과되었는데, 이를 요약하면...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.