Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
d3更改加载的ajax数据_Ajax_D3.js - Fatal编程技术网

d3更改加载的ajax数据

d3更改加载的ajax数据,ajax,d3.js,Ajax,D3.js,我已经从ajax加载了数据: if (page == 1) { var n = date.toISOString(); $.ajax({ url: route, type: 'POST', data: JSON.stringify({ "year": n }), dataType: "json", contentType: "applica

我已经从ajax加载了数据:

 if (page == 1) {
        var n = date.toISOString();
        $.ajax({  
            url: route,
            type: 'POST',
            data: JSON.stringify({ "year": n }),
            dataType: "json",
            contentType: "application/json",
            success: function (result) {
                var data = JSON.parse(result);
                console.log(data);
                draw(data);
            }

        });
我希望draw(data)函数根据从范围滑块中选择的年份绘制条形图。但问题是,我还需要一个条件:

  var date;
var val = document.getElementById("year");
    switch (val) {
        case '2015': date = new Date("July 21, 2015"); break;
        case '2016': date = new Date("July 21, 2016"); break;
        case "2017": date = new Date("July 21, 2017"); break;
        case '2019': date = new Date("July 21, 2019"); break;
        default: date = new Date("July 21, 2018"); break;
    }
根据选择的日期,它应该发布不同的日期。以下是html范围代码:

<input type="range" min=2015 max=2019 step=1 id="year" value=2018 oninput="selected_year.value = year.value">
        <output name="selected_year" id="selected_year">2018</output>

2018
它只加载“默认”值,即2018。
那么,如何让我的条形图根据从范围中选择的年份更改加载的数据?我到底做错了什么?

将DOM元素()与年份(而不是其值)进行比较。更改为switch(val.value){@ee2Dev,谢谢,我这样做了,但仍然没有结果。似乎您将值(一个数字)与字符串进行了比较。尝试删除case语句中的括号:case 2015:…引号我的意思是-非括号您将DOM元素()与年份(而非其值)进行了比较。更改为switch(val.value){@ee2Dev,谢谢,我做了,但仍然没有结果。似乎您将值(数字)与字符串进行比较。尝试删除case语句中的括号:case 2015:…我的意思是引号-不是括号