【发布时间】:2013-11-05 14:42:38
【问题描述】:
当我从data 检索到 10 个项目时,我试图打破以下循环:
var counter = 1;
$.ajax({
url:'http://api.8coupons.com/v1/getchainstorelist?key=' + apiCode,
dataType:'jsonp',
success: function(data){
//create drop-down box
var s = $('<select/>',{id:"chainStores"});
$.each(data, function(key, value) {
$('<option/>', {text: value.name}).appendTo(s);
++counter;
// After finding 10 stores, break.
if (counter == 10)
return false;
});
但是,它似乎并没有在获得 10 件物品后停止。它似乎正在检索所有内容。我最初尝试使用break,但收到语法错误。
感谢您的帮助。
【问题讨论】:
-
是你的计数器递增 - 我认为它应该是
counter++; -
@Pete:这不会对特定的代码行产生明显的影响。
-
啊好吧,那今天学到了一些东西!
-
你确定没有其他东西在修改
counter,或者条件语句正在被评估?return false;似乎可以解决问题:jsfiddle.net/yLBd7 -
我和大卫在一起 - 因为 counter 似乎是全局的,如果其他东西使用称为 counter 的 var,它可能会从 10 开始,这意味着 == 10 永远不会等同