js写fusionchart 问题
我用的dwr+spring架构,在做报表的时候遇到问题,我用dwr后台请求数据然后拼接成一个fusioncharts所需要的字符串返回js文本里面,然后在js文本里面生成。
具体代码如下
//图表所要显示的div
var cpudiv =document.createElement("cpudiv");
cpudiv.id="cpudiv";
var chart = new FusionCharts ('web/systemChangeManager/CPUConsume/MSLine.swf', "ChartId","100%", "400", "0", "0");
//cpuStr 是生成图标数据的字符串xml
chart.setDataXML(cpuStr);
chart.render('cpudiv');
document.getElementById("health_img_div").appendChild(cpudiv);
可是这种方法在jsp页面上显示不出来,不知道什么问题!试了很多种方式也不好用!
如果要直接在jsp中定义script就可以!类似这样:
<div id="health_img_div">
<script type="text/javascript">
var chart = new FusionCharts
( 'web/systemChangeManager/CPUConsume/MSLine.swf', "ChartId","100%", "400", "0", "0");
chart.setDataXML(cpuStr);
chart.render('health_img_div');
}
请问我在js中该怎样实现!谢谢了!
</script>
------解决方案--------------------
写在渲染元素内能成功是吧
不用多想,显然又是把脚本写到了全局并且在html元素前面,简单的解决办法
setTimeout(function(){
document.getElementById("health_img_div").appendChild(cpudiv);
},10);
------解决方案--------------------
这样试试
JScript code
function queryHealthSuccess(cpuStr) {
var cpudiv =document.createElement("cpudiv");
cpudiv.id="cpudiv";
document.getElementById("health_img_div").appendChild(cpudiv);
window.setTimeout(function(){
var chart = new FusionCharts (
'web/systemChangeManager/CPUConsume/MSLine.swf',
"ChartId","100%", "400", "0", "0"
);
chart.setDataXML(cpuStr);
chart.render('cpudiv');
},1000);
}