success: function(usernames){
//alert(usernames); ["adam","adam","adam","adam","adam"]
//alert(usernames.length); 36
var participants_list= eval(usernames); //adam,adam,adam,adam,adam
//alert(participants_list.length);5
var username= '';
for(var i=0; i<participants_list.length; i++){
username += participants_list[i] + "\n";
}
$("#usernames").html(username);
}
});
我正在尝试为#usernames添加换行符,以便每个原子都显示在一个新行上,但我不知道该怎么做。感谢。
<td><div id="usernames">cindy</div></td>
答案 0 :(得分:3)
您需要将每个用户名包装在块级元素中,以强制它们放在各自独立的行中。例如,
username = "<p>" + participants_list[i] + "</p>";
或许在你的情况下会更好
username = "<tr class='user'><td>" + participants_list[i] + "</td></tr>";
$("your table id or class").append(username);
答案 1 :(得分:2)
不要批评你,但请允许我稍微改进你的代码:
- 尽量避免使用eval。 eval是邪恶的!相反,您应该始终尝试通过在服务器端使用jsonencode或序列化来返回有效数据
- 而不是构建for循环,在jQuery中使用.each()函数会容易得多
您的代码会变成这样:
jQuery.each(usernames, function(index, value) {
$('#usernames').append($('<tr><td>' + value + '</td></tr>'));
});
我在这里为您设置了一个小例子:http://jsfiddle.net/YsrWs/
希望这有帮助!