在php循环创建div时动态创建div
我是jquery新手,遇到问题需要帮助 我有一个sql查询,它检索ID并将它们放入数组中。我有一个循环,用php为数组中的每个id创建一个div。很好 另一方面,我有一个javascript函数,它对相同的数组执行相同的操作,并在使用上述函数创建的div中创建div,所有这些都在jquery中 第一个显示id为的用户的图片。 javascript一个用id显示用户的名称 问题是jquery函数只创建了一个div,其中包含在php循环中创建的第一个div中的所有名称 我希望两者同时被创建。我尽了我所知的一切,但都没有得到 请帮忙 代码如下: $receivers是包含ID的数组。 $totalreceivers是ID的计数在php循环创建div时动态创建div,php,jquery,Php,Jquery,我是jquery新手,遇到问题需要帮助 我有一个sql查询,它检索ID并将它们放入数组中。我有一个循环,用php为数组中的每个id创建一个div。很好 另一方面,我有一个javascript函数,它对相同的数组执行相同的操作,并在使用上述函数创建的div中创建div,所有这些都在jquery中 第一个显示id为的用户的图片。 javascript一个用id显示用户的名称 问题是jquery函数只创建了一个div,其中包含在php循环中创建的第一个div中的所有名称 我希望两者同时被创建。我尽了我
function showfbnames() {
var receivers = <? echo $receivers; ?>;
var count = <? echo $totalreceivers; ?>;
for (var i = 0; i < count; i++) {
var temparray = ["<?php echo join("\", \"", $receivers); ?>"];
FB.api(
{
method: 'fql.query',
query: 'SELECT name FROM user WHERE uid='+temparray[i]
},
function(resp) {
$.each(resp, function(k,v) {
$("#divfather").append("<div class='tit' id ='fbname'>"+(v.name)+"</div>");
//$("#fbname").html(v.name);
})
}
);
}
}
创建div的php循环:
<?for ($i = 0; $i < $totalreceivers; $i++) {?>
<script>showfbnames()</script>
<tr><td>
<div style="width:100%; height:150px;overflow:auto;border-top:1px solid #c89cc1;border-bottom:1px solid #c89cc1;" id="divfather">
<? echo "<img src='https://graph.facebook.com/$receivers[$i]/picture' width='40' style='float:left'/>";?>
</div>
</td>
</tr>
<? } ?>
循环创建了多个id为divfather的div 这不会产生你想要的结果。您需要每个div具有不同的id id=div父 另外,将id传递给showfbnames函数: 显示姓名 以便您可以在jquery代码中使用它: 函数showfbnamespassedi{ 然后是$divfather+passedi.append
注意:为了安全起见,我建议您移动显示在div之后。您不必这样做,但这太危险了。我收回我以前的答案;请选择此答案作为可接受的解决方案 我相信这就是你想要实现的目标:
<? for ($i = 0; $i < $totalreceivers; $i++) { ?>
<tr><td>
<div style="width:100%; height:150px;overflow:auto;border-top:1px solid #c89cc1;border-bottom:1px solid #c89cc1;" id="divfather<? echo $i; ?>">
<? echo "<img src='https://graph.facebook.com/$receivers[$i]/picture' width='40' style='float:left'/>"; ?>
</div>
</td></tr>
<? } ?>
<script type="text/javascript">
var count = <? echo $totalreceivers; ?>;
var temparray = ["<?php echo join("\", \"", $receivers); ?>"];
for (var i = 0; i < count; i++) {
FB.api(
{
method: 'fql.query',
query: 'SELECT name FROM user WHERE uid='+temparray[i]
},
function(resp) {
$.each(resp, function(k,v) {
$("#divfather"+i).append("<div class='tit' id ='fbname"+i+"'>"+(v.name)+"</div>");
//$("#fbname").html(v.name);
})
}
);
}
</script>
你好,朗,首先谢谢你的回复。我尝试了你写的代码。但它不起作用!!现在它在显示函数名称之前什么都没有显示!!!!!!!!