私はjQueryMobileの初心者であり、ajaxで動的に生成されるリストを使用しています。これで、特定の量のアイテムをロードしてから、[さらにロード]ボタンを使用して、このリストにさらにアイテムを追加することができました。理解できない問題がいくつかあります。
- 下部に追加する「LoadMore」を取得できません
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コードです
$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>
助けてくれてありがとう:)
このスクリーンショット: