0

我正在做一个包含 JQuery UI 滑块的网页,您可以在其中选择一年。在滑块停止事件之后,我希望网页显示与我选择的年份相关的 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;
        });
    }

警报正确显示在滑块中选择的年份。

wins.json 有 2 个字段(年份、名称),driver 是 JSon 数组的名称,winner 是 HTML 中的占位符

4

1 回答 1

0

根据您对 的描述winners.json,听起来您有一个名为的对象driver,其中包含一个数组。数组中的每个对象都有两个字段:yearname。然后,您尝试访问该name字段,就好像它嵌套在该year字段中...而不是该字段的兄弟year。如果是这种情况,您需要重新构建winners.json文件以匹配您的代码,或者更简单...更改您的代码以name正确访问。

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

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

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

于 2013-06-22T16:02:18.300 回答