jQuery .html只获取JSON的最后一个值

时间:2013-10-22 08:32:06

标签: javascript jquery json

我对jQuery("#someID").html有疑问。它只打印JSON中的最后一个键。

这是js:

<div class="row" id="fetchmember">
  <script type="text/javascript">

jQuery('#group').change(function() {
    var id_group = this.value; 
    var memberjson = "fetchmember.php?group="+id_group;

    jQuery.getJSON(memberjson, function(data) {
        jQuery.each(data, function(i, items) {
            jQuery("#fetchmember").html("<li>"+items.name+"</li>");
        });                 
    });
});

  </script>
</div> 

来自所选选项之一的JSON结果:

[{"id":"1645819602","name":"Michael English","first_name":"Michael","last_name":"English"},
{"id":"100000251643877","name":"Bill Gaither","first_name":"Bill","last_name":"Gaither"}]

我想从json打印所有name,但它只打印json的最后name个键。我的代码出了什么问题?

任何建议和帮助将不胜感激。非常感谢你

3 个答案:

答案 0 :(得分:3)

您正在删除每次迭代的内容。使用append代替html

答案 1 :(得分:1)

而不是

jQuery("#fetchmember").html("<li>"+items.name+"</li>");

使用

jQuery("#fetchmember").append("<li>"+items.name+"</li>");

在迭代时,用最后一个覆盖内容。

答案 2 :(得分:0)

最好使用.append代替.html,但您必须先将该区域设为空:jQuery("#fetchmember").empty();