2015-04-03 43 views
0

这是我的代码,它将我的数据集过滤到一年,当我移动我的html滑块时我想更新该值。我有一个可变年份= 1979年,但是当我输入它的功能它不起作用。用HTML滑块更新变量

var yearData = data.filter(function(element) {return element.YEAR == "year"}); 

我想我错过了什么,任何人都可以指向正确的方向吗?

我的小提琴:http://jsfiddle.net/vyab4kcf/6/

回答

1

你的代码,使图表只调用一次在要求的时间。 您需要存储请求的数据,然后执行与您在回调中已经完成的相同的指令。

所以:

var request_data; 
 
d3.csv('http://...', function(error, data){ 
 
    // store the data 
 
    request_data = data; 
 
    // Run update for the first request 
 
    update("1979"); 
 
}); 
 

 
// Listen to slider changes 
 
d3.select("#sexYear").on("input", function() { 
 
    update(this.value); 
 
}); 
 

 
function update(sexYear) { 
 
    
 
    // Chart rendering code 
 
    // Do your filters on request_data here 
 
    
 
}