我是 jQuery Mobile 的新手,我正在使用一个使用 ajax 动态生成的列表。现在我得到了一些帮助来加载一定数量的项目,然后使用“加载更多”按钮将更多项目填充到此列表中。我有一些我似乎无法弄清楚的问题。
- 我无法将“加载更多”附加到底部
2 单击时,“加载更多”按钮会在我的列表中多次附加。它将最后一个按钮保持在原位,然后再向下添加一个新按钮。
这是我的代码:
这就是在页面加载时生成内容的原因
function runBrowse() {
//Check if all fields have a value
$.ajax({
url: "http://www.example.com",
data: {firstName: "", middleName: "", lastName: "", resultSize:10},
success: browseSuccess,
});
}
function runBrowseContinue(restart) {
//Check if all fields have a value
$.ajax({
url: "http://www.example.com",
data: {restartLine: restart, resultSize:10},
success: browseSuccess,
});
}
function browseSuccess(browseResults){
$.mobile.changePage('#results');
restartLine = browseResults.restartLine;
jQuery.each(browseResults.people,handlePerson);
}
//Usage getMoreData(browseResults.restartLine);
function getMoreData(restartLine){
if(restartLine){
runBrowseContinue(restartLine);
}
}
function handlePerson(index, value) {
var output = '';
// Add these returns to listview
output += '<li>' + '<h3>' + value.name + '</h3>' + '<p>' + value.height + '</p>' + '<p>' + value.weight + 'lbs.' + '</p>' + '</li>';
$('#listview').append(output).listview('refresh');
}
这是加载更多代码
$loadMore = $('ul').children('.load-more');
$loadMore.bind('click', function () {
var out = [];
out.push(getMoreData(restartLine));
$('ul').append(out.join('')).append($loadMore).listview('refresh');
});
这是我的 HTML
<ul data-role="listview" class="listContent" id="listview">
<li class="load-more"><a href="#">Load More</a></li>
</ul>
</div>
谢谢你的帮助 :)
这个截图: