在javascript和php中动态填充<ul> </ul>

时间:2013-07-10 01:40:37

标签: php jquery post html-lists

我有以下空元素:

<div data-role="content">
<ul data-role="listview" id="contributionList2" data-inset="true" data-theme="c" data-dividertheme="a">
</ul>
</div> 

我还有一个javascript函数,它有一个名为“arrayer”的数组,我试图发布到php脚本:

for(var i=0;i<arrayer.length;i++){
    $.post('rpc4.php', {'test': arrayer[i] }, function(data){
        $('#contributionList2').append(data);
    });
} 

javascript代码成功地将数组发布到文件rpc4.php:

<?php
$myvar = $_POST['test'];
echo '<li>'.$myvar.'</li>';
?>

但是当我尝试用所有数组元素填充listview“contributionList2”时,它只显示每一个数组元素,然后用数组中的下一个元素替换它,而不是在listview中显示它们。当调用javascript代码时,如何在listview中同时显示teh数组中的所有元素?

1 个答案:

答案 0 :(得分:2)

html()更改为append()

html()会在每次循环中替换<ul>的内容;但是你希望这些东西能够积累起来。 append()会将新元素填充为<ul>的最后一个孩子。

但是,这不是最好的方法;除非你有充分的理由,如果你移动你的循环服务器端会更好:join()你的arrayer,将它作为参数发布到你的PHP脚本,然后explode()它在PHP中,一次性生成所有内容。