Bob*_*bby 0 html arrays jquery loops
我试图将PHP脚本的结果循环到我的jquery好友列表中.似乎无法让列表显示任何但未定义的内容,但是如果我将它附加到正文中它只显示数组的最后一个.我的代码是......
$(function() {
$('<div />').html('<div id="buddies" class="buddies" style="vertical-align:bottom"><div class="imheader"> Online Favorites<span class="fr"><a href="#" id="exitlist">X</a></span></div><div class="imheader2"><div class="imheaderspan"><a href="#">Options</a></div></div><ul class="imwindow"><div id="myonlinefavs">' + FL() + '</div></ul></div><div id="chatbar" class="chatbar"><div id="ims"></div><div class="buddylist" id="buddylist"><center><a href="#" id="im-menu" class="im-menu">Favorites (<strong id="friendsonline">0</strong>)</a></center></div></div>').appendTo('body');
var imRoot = $("#im-menu");
var buddies = $("#buddies");
imRoot.click(function(){
buddies.toggle();
imRoot.blur();
return( false );
});
$("#exitlist").click(function(){
buddies.toggle();
imRoot.blur();
return( false );
});
$(document).click(function( event ){
if (buddies.is( ":visible" ) && !$( event.target ).closest( "#buddies" ).size()){
buddies.hide();
}
});
function FL(){
$.ajax({
type: 'POST',
url: 'config/receive_buddylist.php',
cache: 'false',
dataType: 'json',
success: function(data){
data && $.each(data, function(i, e){
if (i == "buddylist") {
$.each(e, function (l, f) {
if(f.id != null){
$('<div />').html('<li>' + f.n + '</li>');
}
});
}
});
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
问题是你在做什么$('body').html('<li>' + f.n + '</li>');,不断覆盖数据.尝试使用append():
$('body').append('<li>' + f.n + '</li>');
Run Code Online (Sandbox Code Playgroud)
我注意到你稍微更新了你的代码.这是一个改造:
if(f.id != null){
$('<div />').html('<li>' + f.n + '</li>').appendTo('body');
}
Run Code Online (Sandbox Code Playgroud)