我的json是

[{"dir":"down","sym":"oo","b":"1.35553","a":"1.35556"},
{"dir":"down","sym":"pp","b":"1.64442","a":"1.64451"},
{"dir":"down","sym":"qq","b":"104.603","a":"104.609"},
{"dir":"up","sym":"rr","b":"0.88186","a":"0.88191"},
{"dir":"up","sym":"ss","b":"1.09667","a":"1.09672"}]


使用这个jQuery

<script type="text/javascript">
$(document).ready(function() {
setInterval(function() {
$.ajax({
    cache: false,
        url: 'quotes1.php',
        dataType: 'json',
    success: function(json){
        for(var i=0;i<json.length;i++){
            $('#divToRefresh').html(json[i].dir + '/' + json[i].sym+ '/' + json[i].b+ '/' + json[i].a);
        }
    }
});
}, 1000);
});
</script>


但是它只显示第一个数据


  up / oo / 1.35553 / 1.35556


如何显示所有数据?

最佳答案

为此使用jQuery $.each()append()方法

success: function(json){
    $.each(json,function(i,val){
        $('#divToRefresh').append(val.dir + '/' + val.sym+ '/' + val.b+ '/' + val.a);
    });
}


html()将替换现有数据,因此它仅显示最后一个值,而append()将帮助连接数据。

$.each优于for循环。

关于javascript - Json使用for循环显示所有数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21252173/

10-09 23:42
查看更多