0

我有以下为空的元素:

<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>';
?>

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

4

1 回答 1

2

更改html()append()

html()<ul>每次循环都会替换你的内容;但你希望这些东西积累起来。append()会将新元素填充为<ul>.

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

于 2013-07-10T01:42:48.567 回答