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


dynamically filling <ul></ul> in javascript and php

我有以下元素为空:

<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.hp:

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

但是,当我尝试用所有数组元素填充listview"contributionList2"时,它只是将每个元素显示一秒钟,然后用数组中的下一个元素替换它,而不是在listview中显示所有元素。当调用javascript代码时,如何在列表视图中同时显示数组中的所有元素?

html()更改为append()

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

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