循环遍历json结果以创建列表

时间:2012-08-30 14:33:58

标签: jquery json parsing

我使用$ .post()检索json结果,并且我希望能够打印到每个结果的列表中。

使用以下内容仅显示最后一个json项目

JQUERY

$.post('/assets/inc/account-info.php', qString, function (data) {
    console.log(data);
    var datas = jQuery.parseJSON(data);
    console.log(datas);
    $("#note").append("<li>id=recordsarray_"+datas.id+"><a href='#"+datas.id+"'>"+datas.name+"</a></li>");  
});

4 个答案:

答案 0 :(得分:2)

我假设您在前端获取对象数组,并且此对象中包含id和name:

// To put data directly in html you can do this :
    $.each(datas,function(i,data){
       $("#note").append("<li>id=recordsarray_"+data.id+"><a href='#"+data.id+"'>"+data.name+"</a></li>");
    });

 OR

// To Put your data in array you can do this :
    var arr = [];
    // This will help you putting the json object in to array
    $.each(datas,function(i,data){
       arr.push({id:data.id, name:data.name});   
    });

    // once you get the array you can loop through it and add it to your html:
    for (i=0;i<arr.length;i++){ 
        $("#note").append("<li>id=recordsarray_"+arr[i].id+"><a href='#"+arr[i].id+"'>"+arr[i].name+"</a></li>");
    });   
    }

答案 1 :(得分:1)

按索引循环访问数据并设置然后获取id&amp;每个人的名字。 我也假设(因为你说列表)你的数据有多个级别。

$.each(datas, function() {
    $.each(this, function(key, value) {
        $("#note").append("<li id=recordsarray_" + 
             datas[key].id + "><a href='#" + 
             datas[key].id + "'>" + 
             datas[key].name + "</a></li>"
        );
    });
});

答案 2 :(得分:1)

$(datas).each(function(){ $("#note").append("<li>id=recordsarray_"+this.id+"><a href='#"+this.id+"'>"+this.name+"</a></li>"); });

答案 3 :(得分:0)

试试这个

$.each(datas, function(i,item){
    $("#note").append("<li>id=recordsarray_"+datas[i].id+"><a href='#"+datas[i].id+"'>"+datas[i].name+"</a></li>");
});