0

可能重复:
异步包含的 div 的 jQuery Mobile 样式
Jquery mobile listview - 检查初始化是否完成

我有一个移动 jquery 列表视图,最后有一个 LOAD MORE 按钮。一切正常,除了使用 AJAX 添加的新结果中缺少 css。

这是我的按钮代码

<div data-role="fieldcontain">
            <a onclick="loadmore(this);" type="button" id="showmore" href="#more">Load more..</a>
        </div>

Javascript

function loadmore(a) {
    jq("#show_more_btn").removeClass("show_more_btn");
    jq("#show_more_btn").addClass("loading_btn");
    jq("this").css("display", "none");
    if (null == jq.cookie("bp-activity-oldestpage")) jq.cookie("bp-activity-oldestpage", 1, {
        path: "/"
    });
    var b = jq.cookie("bp-activity-oldestpage") * 1 + 1;
    jq.post(ajaxurl, {
        action: "activity_get_older_updates",
        cookie: encodeURIComponent(document.cookie),
        page: b
    }, function (a) {
        jq("#show_more_btn").removeClass("loading_btn");
        jq("#show_more_btn").addClass("show_more_btn");
        jq.cookie("bp-activity-oldestpage", b, {
            path: "/"
        });
        jq("li[class='load-more']").hide();
        jq("#activity-stream").append(a.contents);
    }, "json");
    return false
}

正确列表视图的屏幕截图 http://s12.postimage.org/yd2hsk119/original.jpg

问题 http://s17.postimage.org/81ofaf1bz/got.jpg

编辑: 列表视图代码

<div class="content-primary">   
            <ul data-role="listview"  id="activity-stream">
    <?php endif; ?>

    <?php while ( bp_activities() ) : bp_the_activity(); ?>

        <?php locate_template( array( 'activity/entry.php' ), true, false ); ?>

    <?php endwhile; ?>

    <?php  if ( empty( $_POST['page'] ) ) :  ?>

            </ul>
        </div>

入口.php

<li id="activity-<?php bp_activity_id(); ?>">
<a href...>...</a>
<h3>...</h3>
<p>...</p>
</li>

任何人都知道问题是什么?

4

1 回答 1

2

您需要listview这样刷新:

$("ul").listview('refresh');

您正在将元素添加到列表中,但 jQuery mobile 没有为它们设置样式,因为它们没有正确的类和属性。

于 2012-08-27T17:02:54.747 回答