Javascript 使用JQuery UI滑块选择字段后从JSon获取数据
我正在制作一个包含jQueryUI滑块的网页,您可以在其中选择一年。在滑块停止事件之后,我希望网页显示与我选择的年份相关的JSon文件中的数据。 首先,我想知道是否可以通过友好的方式实现这一点(我使用的是HTML+CSS+JavaScript) 第二,这里是滑块的停止事件: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
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无法加载文件”,所以我将首先尝试解决这个问题。谢谢你的控制台提示。