我想在骨干中做分页。我有一个选择框,当我点击它时,我希望它显示特定数量的数据。
<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);
但是如何使用分页加载我的消息模板。你能帮助我或者你知道任何相关的例子吗?