我正在检索JSON数组并将结果显示为十项长的列表。但是,如果找到的结果少于十个,那么它会再次与第一行重叠。
我的代码:
$.ajax({
url: 'http://www.entertainmentcocktail.com/cp/index.php?area=bn2',
dataType: 'jsonp',
jsonp: 'jsoncallback',
timeout: 5000,
success: function(data, status){
var n = 0;
while(n<10){
$.each(data, function(i,item){
var places = item.name +
' where you can get' +
' a pint of <em>'+item.pint+'</em> for only ' +
'<span>£'+item.cost+'!</span>';
$('#placeList').append('<li id="listitem">'+ places +'</li>');
n++;
});
}
}
});
如何让代码显示前十行 OR 收到的所有行,具体取决于哪些更少?
答案 0 :(得分:4)
这就是你所需要的:
success: function(data, status){
$.each(data, function(i,item){
var places = item.name +
' where you can get' +
' a pint of <em>'+item.pint+'</em> for only ' +
'<span>£'+item.cost+'!</span>';
if (i < 10) {
$('#placeList').append('<li id="listitem">'+ places +'</li>');
}
});
}
答案 1 :(得分:1)
您不需要while
。
$.each(data, function(i,item){
if(i >= 10) return;
var places = item.name +
' where you can get' +
' a pint of <em>'+item.pint+'</em> for only ' +
'<span>£'+item.cost+'!</span>';
$('#placeList').append('<li id="listitem">'+ places);
});
(可能有更聪明的方法来做你想做的事情,但这是你的代码的快速修复)