为什么在解析JSON时会重复此列表?

时间:2015-03-17 01:29:31

标签: jquery json

我有一个JSON文件,我用来填充选择列表。 JSON文件中的每个条目都在选择列表中重复。有什么不对,这似乎应该有用:

$.each(data, function(index, item){
  items.push('<option value="'+item.partnerID +'">'+item.pName+'</option>');
  $('#platform').append( items.join('') );
});

Fiddle

2 个答案:

答案 0 :(得分:2)

在将每个项目添加到循环中后,您将加入并将生成的列表附加到循环中。

这意味着对于每个项目,您都要构建列表并将其附加到您正在迭代的当前项目的选择上。根据{{​​1}}之类的输入,您最终会得到[A, B, C, D]

您需要在循环之外移动最终加入,因此您只需在[A, AB, ABC, ABCD] 之后将<option>附加到 之后已建成。

<select>

答案 1 :(得分:2)

把它放在循环之外

$('#platform').append( items.join('') );

应该是这样的

$.each(data, function(index, item){
  items.push('<option value="'+item.partnerID +'">'+item.pName+'</option>');
});
$('#platform').append( items.join('') );

这是您更新的demo