jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery每个循环都不适用于json数据大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一组jSon数据(无错误),我需要使用$.each函数循环,但它只显示来自jSon的最后一条数据记录.

这是我的jquery

$.ajax({
type: "POST",url: '/update-recent-stat',dataType: 'json',success: function(jsonData)
    {
        var counterjson = 1;

        $.each(jsonData,function(i,value){
            var count = counterjson++;
            var link = jsonData[count].linkid;
            var time = jsonData[count].time;
            var value = jsonData[count].value;
            var sender = jsonData[count].sender;

           $("#DownBoxL ul li").html("<div class=timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> ("+count+") msg sent!</div><div class=TagValue>+"+value+"</div>").show();
         });
    }
});

所以thejSon数据是一个@R_795_11262@5条记录的集合,例如:

[{"counter":"1","linkid":"1448524027","sender":"User1","value":"5","time":"5 sec ago"},{"counter":"2","sender":"User2","time":"5 min ago"}]

为了记录,使用这段代码显示最后一条记录!

有谁知道问题在哪里?

感谢和问候.

解决方法

@H_616_25@ 因为你每次都要覆盖所有的HTMl.您可以使用eq使相同的代码工作.并且使用$.getJSON它很容易用于JSON数据,它足以满足您的要求.

$.getJSON('/jsonurl/file.json',function(jsonData)
{
   var counterjson = 1;

   $.each(jsonData,value){
        var count = counterjson++;
        var link = jsonData[count].linkid;
        var time = jsonData[count].time;
        var value = jsonData[count].value;
        var sender = jsonData[count].sender;

        $("#DownBoxL ul li:eq(" + i + ")).html("<div class=timestamp>"+time+"</div><div class=UserName><a href=\"#"+link+"\">"+sender+"</a> ("+count+") msg sent!</div><div class=TagValue>+"+value+"</div>").show();
     });
}

});

大佬总结

以上是大佬教程为你收集整理的jQuery每个循环都不适用于json数据全部内容,希望文章能够帮你解决jQuery每个循环都不适用于json数据所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。