如何迭代JSON(jQuery)

时间:2014-02-08 03:38:58

标签: jquery python json django

我正在尝试使用JSON格式加载AJAX评论,但问题是只收取评论。

最初负责使用html的所有评论,但在输入新评论时,我必须添加新评论并更新其余评论。

JSON

{'error':'false',
    fields:[{'pk':1,'title':'Test Title', 'body':'Test Body'}],
    {'votes':20,'cant':{1:20,2:30,3:4}}
}

HTML代码

<ul class="list">
    <!-- sample javascript -->
    <li class="sample">
        <div class="image"><img src="" width="50" height="50"></div>
        <div class="rated">
            <div class="stars"><span></span></div>
        </div>
        <div class="user"><a href=""></a></div>
        <div class="date"></div>
        <div class="body"></div>
    </li>


    <!-- Suppose we have 10 comments loaded, for initial use html --> 
    <li>
        <div class="image">
            <img src="avatar/2092974" width="50" height="50">
        </div>
        <div class="rated">
            <div class="stars"><span style="width:40%"></span></div>
        </div>
        <div class="user"><a href="">UserName</a></div>
        <div class="date">(2 minutes)</div>
        <div class="body">comment, test</div>
    </li>
    {% endfor %}
</ul>

jQuery CODE UPDATED

$("ul.list li").not('.sample').remove();
$.each(d.fields[0], function(i,item){
  var v = $("ul.list li.sample").clone(true).removeClass('sample');
  $(".image img", v).attr('src','http://www.cuevana.tv/avatar/2092974');
  $(".rated", v).find('.stars span').css('width',item['score'] + '%');
  $(".user a", v).text(item['user']);
  $(".date", v).text('('+item['date']+')');
  $(".body", v).text(item['body']);
  $("ul.list").append(v)
});

我的问题:如何更新所有评论并输入新评论,我需要迭代数据,但我还没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

$("ul.list").html(v);

替换为

$("ul.list").append(v);   //Or Prepend

.html将用新的内容替换整个内容:)