0

バックボーンでページネーションを行いたい。選択ボックスがあり、それをクリックすると、特定の数のデータが表示されます。

<div class="results right" >
          <form>
            <label for="results">Results pr. page</label>
            <select name="results" id="messageSelect">
              <option value="25" >25</option>
              <option value="50" >50</option>
              <option value="100" >100</option>
              <option value="500" >500</option>
            </select>
          </form>
        </div>

これは私のコレクションです:

pagination : function(perPage, page) {
                page = page - 1;
                var collection = this;
                collection = _(collection.rest(perPage * page));
                collection = _(collection.first(perPage));
                return collection.map( function(model) {
                    return model.toJSON();
                });
            },

#messageSelect が変更されたとき (ユーザーが数字を選択したとき) changedSelect が呼び出され、各ページに表示される値を取得し、ページの総数を計算します。しかし、正直なところ、病棟の後に何をすべきかわかりません!

events : {

                            "change #messageSelect" : "changedSelect",

                        },

       changedSelect : function(e){
        this.selectedMessageId = $("#messageSelect :selected").attr("value");
                console.log("id of select is", this.selectedGroupId);

                var maxPages = Math.ceil(this.collection.messageCount / this.pageSize);
                console.log("max", maxPages);
                var pageToLoad = this.currentMessagePage + 1;
                console.log("load me page", pageToLoad);

ページネーションを使用する前に、次の方法ですべてのメッセージをロードしました。

var messageView = new MessageView({
                                    model : item
                                });
                                this.$el.append(messageView.render().el);

しかし、ページネーションを使用してメッセージ テンプレートを読み込むにはどうすればよいでしょうか。私を助けてくれますか、関連する例を知っていますか?

4

1 に答える 1