【发布时间】:2014-12-17 20:57:17
【问题描述】:
我有以下功能:
getAccessPointArray()
.done(function(array) {
var obj = JSON.parse(array);
for ( i = 0; i < obj.data.length; i++ ) {
var identifier = obj.data[i]['identifier'];
var url = obj.data[i]['url'];
$( "." + identifier ).click(function() {
alert("This is the URL: " + url );
});
}
}
);
我的数组:
obj = array( 'data' =>
['url' => url 1, 'identifier' => ident 1] ,
['url' => url 2, 'identifier' => ident 2]
);
似乎发生的事情是在第一次传递时设置了 url,但是在第二次传递时它不会覆盖第一个 url...
所以我的输出是:
This is the URL: url 1
This is the URL: url 1
不确定我在这里做错了什么?
【问题讨论】:
-
so my output is: This is the URL: url 1你确定吗? -
不是 100% 说实话,一次只有一个单击事件有效,当我重新测试时,似乎循环在所有迭代的单击事件之外运行,然后触发完成后关闭点击事件,将变量设置为循环中的最后一个 url,因此无论我点击哪个事件,都会提醒相同的 URL...
-
是的,最后一个 url,不是你发布的第一个 ;)
标签: jquery