Javascript Morris图表附加了来自ajax的新数据
我一直在做一个项目,我必须在莫里斯图表中显示一些订单细节。图表的数据采用JSON格式,并作为servlet的响应 有一个apply按钮和一个ToFromDatePicker,当我按下apply按钮时,JavaScript函数解析来自servlet的数据。它工作正常。我已经在我的网页中放置了chart div,我只在其中加载我的JSON数据 当我第一次按apply时,使用morris提供的setData()函数将数据加载并显示在图表中。详情如下: 但当我第二次按下应用按钮时,它会将数据添加到当前图表中,如下所示: 实现这一点的javascript函数如下所示:Javascript Morris图表附加了来自ajax的新数据,javascript,json,ajax,morris.js,Javascript,Json,Ajax,Morris.js,我一直在做一个项目,我必须在莫里斯图表中显示一些订单细节。图表的数据采用JSON格式,并作为servlet的响应 有一个apply按钮和一个ToFromDatePicker,当我按下apply按钮时,JavaScript函数解析来自servlet的数据。它工作正常。我已经在我的网页中放置了chart div,我只在其中加载我的JSON数据 当我第一次按apply时,使用morris提供的setData()函数将数据加载并显示在图表中。详情如下: 但当我第二次按下应用按钮时,它会将数据添加到当前
function parselineData(method,url,id,no,keyx,keyy)
{ var datefrom=document.getElementById("from"+no).value;
var dateto=document.getElementById("to"+no).value;
if(datefrom=="")
{ document.getElementById("lfrom"+no).style.color="red";
document.getElementById("lfrom"+no).innerHTML="*From:";
}
else
{ document.getElementById("lfrom"+no).style.color="black";
document.getElementById("lfrom"+no).innerHTML="From:";
}
if(dateto=="")
{ document.getElementById("lto"+no).style.color="red";
document.getElementById("lto"+no).innerHTML="*To:";
}
else
{ document.getElementById("lto"+no).style.color="black";
document.getElementById("lto"+no).innerHTML="To:";
}
if(datefrom==""||dateto=="")
{
}
else
{ var xmlhttp=new XMLHttpRequest();
var chart=Morris.Line
({ element: id,
data:[{date:"0",orders:"0"}],
xkey: keyx,
ykeys: [keyy],
labels: [keyy],
smooth: true,
resize: false
});
var data;
xmlhttp.onreadystatechange=function()
{ if (xmlhttp.readyState==4&&xmlhttp.status==200)
{ data=JSON.parse(xmlhttp.responseText);
//alert("My Data is" + data.toSource());
chart.setData(data);
}
}
xmlhttp.open(method,url+"?from"+no+"="+datefrom+"&to"+no+"="+dateto, true);
xmlhttp.send();
}
}
请提供帮助,以便我可以在不附加数据的情况下显示数据。当图表的容器已包含图表时,会发生这种情况,您可以调用
setData
,在第一个图表旁边插入另一个新图表
您应该在调用setData
之前清除容器。比如:
document.getElementById(id).innerHTML = "";
chart.setData(data);
我在rapheal.min.js上收到一个无响应的脚本错误,该id是div标记的id。您是否可以看到任何js错误?假设
id
看起来像some name
,那么这里应该不会有任何问题,除非您将some name
中的元素用于其他内容?这就是我的div。变量id
中有什么?