我正在尝试使用dimple JS绘制图表。我需要在选择下拉列表时过滤数据。当我使用dimple.filterData(....)时没有返回数据时,我收到错误。如果dimple.filterData()函数没有返回数据,请告诉我如何处理这个问题。
我想在没有返回数据时显示“当前选择没有数据”。
<select id="Time">
<option value="">Please Select</option>
<option value="Year">YTD</option>
<option value="Month">MTD</option>
<option value="Week">WTD</option>
$( “#时间”)。在( '变更',函数(){
$("#chartContainer").html('');
drawChart($(this).prop('id'), $(this).val());
});
function drawChart(id,value){
var svg = dimple.newSvg("#chartContainer", 590, 400);
var data = [
{ Time: "Year", Value: 1 },
{ Time: "Month", Value: 2 },
{ Time: "Month", Value: 3 }
];
data = dimple.filterData(data, id, value);
var myChart = new dimple.chart(svg, data);
myChart.setBounds(60, 30, 510, 305)
var x = myChart.addCategoryAxis("x", "Time");
x.addOrderRule(["Year", "Month", "Week"]);
myChart.addMeasureAxis("y", "Value");
myChart.addSeries(null, dimple.plot.bar);
myChart.draw();
}
答案 0 :(得分:2)
当没有匹配数据时,dimple.filterData(...)
调用返回一个空数组。只需检查数组是否为空:
data = dimple.filterData(data, id, value);
if(data.length > 0) {
// Charting code here...
} else {
alert("No data for the current selection");
}