結果リストを更新するために、Ajax から JSON 文字列を受け取ります。「もっと見る」の場合は、リストを追加します。新しい検索の場合は、前にリストをクリアします。ajax 呼び出しがトリガーされるとすぐに、読み込み<li>
がリストの一番下に追加されます。以下の<li></li>
露出は単純化されています。<span></span>
それぞれの要素を個別に追加するのではなく、最初の要素<li></li>
を次の結果のテンプレートとして使用します。
これは単純化されたHTMLコードです
<ul id="list">
<li>
<span class="itemPriceSell">1234</span>
<span class="itemPriceRent">56</span>
</li>
<li>
<span class="itemPriceSell">9876</span>
<span class="itemPriceRent">54</span>
</li>
</ul>
これはjQuery関数です
function refreshResults(data) {
var cloned = $('ul#list li:first').clone();
filtersChanged() ? $('ul#list li:not(:last)').remove() : null
$.each(data, function(index, hbid) {
cloned.find('.itemPriceSell').text(hbid.sellprice);
cloned.find('.itemPriceRent').text(hbid.rentprice);
cloned.insertBefore('ul#list li:last');
console.log(cloned);
});
$('ul#list li:last').remove();
}
問題<li>
最後の JSON 値の末尾に
1 つだけ追加さ<ul>
れますが、JSON からの 10 個の結果を追加できませんでした。console.log は常に同じものを出力します (最後の JSON 結果は販売価格と賃貸価格として内部に出力されます)。
私のバグに関する助けをいただければ幸いです。ありがとうございました。