我想从MySQL异步加载数据。首先,在页面加载我多个div添加到页面:选择元素动态添加
$(document).ready(function(){
// Layout
var main = $("#main-div");
for(var i = 0; i < array.length; ++i) {
main.append("<div class='container'><a href=\"blah\">"+array[i]+"</a><div class='button-container'><span id='playcount_"+array[i]+"' class='playcount' style='margin-right:5%'>nope</span></div></div>");
}
// Get info for each sound in array
for(var i = 0; i < array.length; ++i) {
$.post("script/php_getinfo.php", { "file": array[i] }, updatePlaycount, "json");
}
});
的container
的div添加了span
与playcount_A
一个id,playcount_B
等的div添加后,POST
每件制作在数组中并在成功时调用updatePlaycount
。
updatePlaycount尝试选择元素,并插入文本到span
:
function updatePlaycount(data) {
$('#playcount_'+data.name).text(data.playcount);
}
函数正确获取data.name
和data.playcount
领域(例如A
和1
),但由于某种原因的jQuery找不到#playcount_A
!当然他们已经被添加了,因为没有加载涉及添加div ...
您正在调用'array.length',但它在代码中没有声明? – 2013-04-28 18:22:57
对不起,有太多的代码要在这里发布。但正如我所说,divs得到了正确的布局。该数组只是像'A,B,C'的字符串 – Snailer 2013-04-28 19:29:11