jQuery Mobile - 将更多记录添加到列表中

时间:2011-07-18 22:36:05

标签: jquery-mobile

我有一个移动网络应用。它目前正在使用iUI。我已经重写了jQuery Mobile来试用这个功能。我还没想到的一件事是如何用Ajax替换内容。

我有记录列表。我只想一次显示5条记录。 iUI有一个功能,你告诉链接“replace-with”,它将用Ajax返回的数据替换链接。

那么如何使用jquery mobile做到这一点?我已经尝试了一些jquery调用,但我通常会收到此错误,一切都停止工作:

b.height(i + j).data("page") is undefined
[Break On This Error] a.mobile.minScrollBack&&(j=0);d&&(d.he...ght("").data("page")._trigger("hide", ...

1 个答案:

答案 0 :(得分:3)

您可以使用JQuery创建一个函数来加载数据(在下面的例子中为无序列表):

function load_list(page_num) {
    $.get('location_of_output_script.php?page=' + page_num, function (data) {
        $('#add_html_to_me > li.click_to_see_more').remove();
        $('#add_html_to_me').append(data);
    });
}

您的页面需要一些元素(在这种情况下是一个无序列表),新项目将被添加到其中:

<div data-role="content">
    <ul id="add_html_to_me"></ul>
</div>

您的输出脚本(在此示例中为“location_of_output_script.php”)可以在单击按钮时返回所需数量的结果(或者当用户滚动到足够接近列表底部时)。以下是我想象的输出示例:

<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
<li>List item 4</li>
<li>List item 5</li>
<li class="click_to_see_more">Click Me To View More Rows</li>

一些注意事项:

  • 在我的示例中,您将在服务器端脚本的每个输出的末尾加载一个按钮,该按钮将在添加下一组行之前被删除。

  • 您可以使用.html()函数而不是.append()替换列表内容而不是添加内容。

  • 您可能需要在&lt; ul&gt;上调用.listview()。标记为JQuery Mobile样式列表中的新内容。

  • 如果要添加微调器或某种类型的进度条,可以在进行$ .get调用之前显示它,然后将其隐藏在该调用的成功函数内。