Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取滑块值-d3/dc_Javascript_D3.js_Dc.js - Fatal编程技术网

Javascript 获取滑块值-d3/dc

Javascript 获取滑块值-d3/dc,javascript,d3.js,dc.js,Javascript,D3.js,Dc.js,我目前正在使用dc制作一些线条图。我还添加了一个滑块(我使用了d3.slider,但后来发现了一个不同的解决方案) 我希望使用滑块来过滤其他图形。是否有人对如何从切片器中获取所选值并进行筛选提出建议 要过滤,我的想法是: d3.select("input[type=range]").on("change", function() { var gendersel = this.value; }); var data = _.where(data2, {variable: gendersel});

我目前正在使用dc制作一些线条图。我还添加了一个滑块(我使用了d3.slider,但后来发现了一个不同的解决方案)

我希望使用滑块来过滤其他图形。是否有人对如何从切片器中获取所选值并进行筛选提出建议

要过滤,我的想法是:

d3.select("input[type=range]").on("change", function() {
var gendersel = this.value;
});

var data = _.where(data2, {variable: gendersel});
但是,这不起作用

我还考虑使用crossfilter(可能更智能)进行过滤,但在获取滑块值时仍然存在问题:

var bytest = ndx.dimension(function(d) { return d.testvar; });
bytest.filter([gendersel, gendersel + .5])
我的滑块:

<div style="font-size:14px;font-family:sans-serif">Test Filter:
<input style="position:relative;top:4px;" type="range" min="1" max="2" value="1"></div>
测试过滤器:
我将此作为参考:
var gendersel不在全局范围内。您需要全局定义它,全局使用它,而不是在函数内部:

var gendersel;
$("input[type=range]").on("change", function() { //I'm not sure what the select() thing is, I just always use $() for selectors, so if you know d3.select works, then use it.
    gendersel = this.value;
});

var data = _.where(data2, {variable: gendersel});
第二个潜在问题:
如果滑块是由Javascript构建的,那么在为onchange事件创建此选择器时,该元素可能不存在。如果是这种情况,您必须创建如下更改事件:

$(".parentOfInputs").on("change", "input[type=range]", function() {
    gendersel = $(this).value; //also not sure if in your case it should be $(this) or this. Try both.
});

parentOfInputs必须是在创建onchange事件之前已经存在的某个元素。

哦,谢谢你的提示。威尔
gendersel=this.value仍然更新全局变量(如果该变量仅在函数中?。。。对于我来说,它似乎没有更新(但可能有其他问题),我将在我的答案中添加一些内容。我更喜欢使用d3.select,这样就不需要添加jQuery依赖项。