0

该页面在调用 Ajax 后丢失了其 JQMobile CSS,即使我添加了:

$("#idlist").listview("refresh");

在我的代码中:

$(document).ready(function() {
var display= $("#displaydata");
    function displaydata()
{
    $.ajax({
        crossDomain:true,
        type:"GET",
        data:"lihat==suku",
        url:"server.php",
        success: function(data){        
        display.html(data);

        }
    });
}

displaydata(); });

我已经从 PHP 调用数据,这是我的 PHP 代码:

    if(isset($_GET["lihat"])=="suku")
{
    $tampil = mysql_query("select * from deskripsi");
    echo"<ul id='ul' data-role='listview' data-inset='true' data-filter='true' data-filter-placeholder='Cari Suku Besar...'>";
    while($r = mysql_fetch_array($tampil))
    {
        echo"<li>$r[suku]</li>";    
    }
    echo"</ul>";
}
4

2 回答 2

3

这是一个建议:

在您的PHP代码中,构建一个HTML字符串,然后最后回显该字符串值。

像这样:

if(isset($_GET["lihat"])=="suku") {
    $tampil = mysql_query("select * from deskripsi");
    $string = "<ul id='ul' data-role='listview' data-inset='true' data-filter='true' data-filter-placeholder='Cari Suku Besar...'>";
    while($r = mysql_fetch_array($tampil)) {
        $string .= "<li>$r[suku]</li>";    
    }
    $string .= "</ul>";
    echo $string;
}

在附加响应数据后,在您的 ajax 成功函数中添加以下代码:

$("#idlist").listview().trigger("create");

享受...

于 2013-03-27T05:54:41.367 回答
1

按下f12并查看是否收到任何错误消息。您确定收到正确的响应吗?

您需要成功功能如下。html()将简单地替换 div 中的所有内容,因此您必须再次重新添加<ul></ul>标签。

    success: function(data){ 
        var tempString = "<ul data-role='listview'>";
        tempString += data;
        tempString += "</ul>";
        display.html(tempString);
    }

尝试刷新列表视图,如下所示

$("#idlist").listview();

$("#idlist").listview("refresh");似乎适用于现有的列表视图,而不适用于我们从头开始构建的列表视图。

于 2013-03-27T05:48:40.017 回答