我有一个移动网络应用。它目前正在使用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", ...
答案 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调用之前显示它,然后将其隐藏在该调用的成功函数内。