我正在构建一个由datelider(jQDateRangeSlider),6个dropdown和一个trendgraph(使用highcharts.js)组成的可视化 因此总共有7个过滤器(6个下拉列表+日期列表),根据这些过滤器,数据集会发生变化,并且图表会针对每个选择进行动态更改。
但是,有许多组合(选择)没有数据。 在这种情况下,我想显示所有过滤器(datelider +下拉列表)而不是图表,我想显示“无数据存在”或任何文本而不是数据 要么 如果可能的话,我还可以显示整个范围的值为0的图表(尽管在这个范围内没有定义为没有数据集,所以我可以采用默认的整个范围)
对于第一个想法,我在尝试:
function printpgtyp(data)
{
console.log(data);
if (data.length > 0)
{
dataset = data;
p(dataset);
}
else
{ q(); }
}
function q()
{
document.write(" Unavailable data ");
}
function p(data)
{
//All my visualization code
}
所以,这有效,但是我需要另一个页面并显示文本,我不想要这个。
我想查看我的所有过滤器并呈现一条短信,说明此选项没有数据,以便用户可以选择具有数据并继续进行可视化的选择
有办法做到这一点吗?
任何建议都将受到高度赞赏。
答案 0 :(得分:1)
而不是document.write
,将文本添加到div元素:
function q()
{
var div = document.getElementById("elementId");
div.innerHTML = "this selection has no data";
}
答案 1 :(得分:0)
您是否看过Highcharts的noData
插件?如果是空数据集,只需调用series.setData([])
即可删除以前的点。