0

まず、この質問を見ていただきありがとうございます。とても有難い。

リクエスト: 最初の意図は、すべての投稿を 1 年の週ごとにグループ化することでした。つまり、45 週目のすべての投稿を仕切りを使用してグループ化することでしたが、簡単にコーディングできるように、より簡単なものに変更しました。投稿日ごとにグループ化したいと思います。

これまで の取り組み autodividersSelector 関数に出会い、実装してみました。動作しているように見えますが、結果は正しくありません。出力は、投稿された日付でディバイダーを分割するのではなく、1 つの日付の下の 1 つのディバイダーにすべての投稿をグループ化しています。以下の図を参照してください。

ここに画像の説明を入力 以下のコードを確認し、どこが間違っているのか、または正しい形式で適用しているかどうかをお知らせください。あなたの助けを借りて学習曲線として調査を続けていきます. 前もって感謝します

HTML コード:

$(document).on('pagebeforeshow', '#blogposts', function () {
$.ajax({
    url: "http://howtodeployit.com/category/daily-devotion/feed/?json=recentstories" ,
    dataType: "json" ,
    beforeSend: function () {$('.loader').show();},
    complete: function () {$('.loader').hide();},
    success: function (data){
        $('#postlist').empty();
            $.each(data.posts, function (key, val) {
            //Format date
            var dateString = val.date.split(' ')[0];
            var vdate = dateString.split("-")[1] + " " + monthStrings[parseInt(dateString.split("-")[1])] + ", " + dateString.split("-")[0];
            //Output data collected into page content
                var rtitle = $('<p/>', {'class' : 'vtitle', html: val.title}); rdate = $('<p/>', {'class': 'vdate' , html: vdate});
                rid = $('<a href="#d-posts" onclick="showPost(' + val.id + ')"></a>');
                var rappend = $('<li/>').append(rtitle, rdate);
                console.log($('#postlist').append($(rappend).wrapInner(rid).fadeIn(600)));
                $('#postlist').listview({
                    autodividers: true,
                    autodividersSelector: function (li) {
                        var out = $(li).find(vdate)
                        console.log(out.selector);
                        return out.selector;
                    }
                });
                return (key !== 5);
            });
        $("#postlist").listview().listview('refresh').append('<div class="more-posts" style="text-align: center;">Load more posts...</div>');
    },
    error: function (data) {
        alert("Service currently not available, please try again later...");
    }

});

});

4

1 に答える 1

0

これを未回答のままにしたくなかったので、機能するコードを以下に投稿しました。

$('#postlist').listview({
    autodividers: true,
    autodividersSelector: function (li) {
       var out = li.find("p").map(function() {return $(this).text();});
       var outresult = out.get(1);
    return outresult;
    }
});
于 2013-11-25T13:20:05.677 に答える