0

我有一个问题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"}]

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

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

4

3 回答 3

3

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

于 2013-10-22T08:33:32.313 回答
1

代替

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

利用

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

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

于 2013-10-22T08:34:43.027 回答
0

更好地使用.append而不是.html,但您必须在之前使该区域为空:jQuery("#fetchmember").empty();

于 2013-10-31T03:13:22.480 回答