Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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 使用JQuery UI滑块选择字段后从JSon获取数据_Javascript_Html_Json_Jquery Ui_Slider - Fatal编程技术网

Javascript 使用JQuery UI滑块选择字段后从JSon获取数据

Javascript 使用JQuery UI滑块选择字段后从JSon获取数据,javascript,html,json,jquery-ui,slider,Javascript,Html,Json,Jquery Ui,Slider,我正在制作一个包含jQueryUI滑块的网页,您可以在其中选择一年。在滑块停止事件之后,我希望网页显示与我选择的年份相关的JSon文件中的数据。 首先,我想知道是否可以通过友好的方式实现这一点(我使用的是HTML+CSS+JavaScript) 第二,这里是滑块的停止事件: stop: function (event, ui) { alert('Stopped at ' + ui.value); $.getJSON('winner

我正在制作一个包含jQueryUI滑块的网页,您可以在其中选择一年。在滑块停止事件之后,我希望网页显示与我选择的年份相关的JSon文件中的数据。 首先,我想知道是否可以通过友好的方式实现这一点(我使用的是HTML+CSS+JavaScript)

第二,这里是滑块的停止事件:

    stop: function (event, ui) {
        alert('Stopped at ' + ui.value);            

        $.getJSON('winners.json', function(winners) {
            var output=" ";

            output+=winners.driver[ui.value].name;
            document.getElementById("winner").innerHTML=output;
        });
    }
该警报将在滑块中正确显示所选的年份


winners.json有2个字段(年份、名称),driver是json数组的名称,winner是HTML中的占位符。根据您对winners.json的描述,听起来您有一个名为driver的对象,它包含一个数组。数组中的每个对象都有两个字段:
year
name
。然后,您尝试访问
名称
字段,就像它嵌套在
年份
字段中一样…而不是
年份
字段的同级。如果是这种情况,您需要重新构造
winners.json
文件以匹配您的代码,或者更简单地…更改代码以正确访问
名称

如果他们是兄弟姐妹,你可以这样做:

for (var i=0,len=winners.driver.length; i < len; i++) {
    if(winners.driver[i].year === ui.value){
        output += winners.driver[i].name;
    }
}
for(变量i=0,len=winners.driver.length;i

另外,请确保
winners.json
文件已上载到您的web服务器,并且您在拨打电话时指定了正确的路径。根据您所拥有的,它将与正在进行调用的HTML文件在同一目录中查找。

“我想知道是否可以通过友好方式进行此操作”是的,是的。你的代码有什么问题吗?对不起,我不想再提这个问题:)它显示警报没有问题,但网页上没有显示名称字段。。如果没有显示名称,则可能是数据的结构与您认为的不同,或者无法解析响应。关于它,我们没有什么可说的了,因为我们既不知道
winner
的真正结构,也不知道
ui.value
是什么。我会试试控制台,谢谢。ui.value是滑块中实际选定的值。winner是html中我想显示名称的标签。我认为标签应该是这样工作的,因为它的编码与这里的示例类似,控制台说“XMLHttpRequest无法加载文件”,所以我将首先尝试解决这个问题。谢谢你的控制台提示。