首页 > 代码库 > 基于KO+bootstrap+MVC的分页控件
基于KO+bootstrap+MVC的分页控件
JS:
1 /// <reference path="../knockout-3.2.0.js" /> 2 var ViewModel = function (data) { 3 var self = this; 4 self.ObjectList = ko.observableArray(data.ObjectList) 5 self.TotalCount = ko.observable(data.TotalCount); 6 self.PerCount = ko.observable(data.PerCount); 7 self.pageIndex = ko.observable(data.Index); 8 self.btns = ko.observableArray(); 9 var getData =http://www.mamicode.com/ function (wantIndex) {10 $.getJSON("/BaseInfor/GetList",11 {12 pageIndex: wantIndex, pageSize: self.PerCount()13 },14 function (data) {15 self.ObjectList(data.ObjectList);16 self.TotalCount(data.TotalCount);17 self.PerCount(data.PerCount);18 self.pageIndex(data.Index);19 });20 }21 self.btnClick = function (item) {22 getData(item);23 }24 self.perPageClick = function () {25 var wantIndex = self.pageIndex() - 1;26 if (wantIndex <= 0) return;27 getData(wantIndex);28 }29 self.nextPageClick = function () {30 var wantIndex = self.pageIndex() + 1;31 if (wantIndex - 1 > (self.TotalCount() / self.PerCount())) return;32 getData(wantIndex);33 }34 self.firstPageClick = function () {35 getData(1);36 }37 self.lastPageClick = function () {38 getData(self.pageTotal());39 }40 41 ko.computed(function () {42 self.pageTotal = ko.observable(Math.ceil((self.TotalCount() / self.PerCount())))43 var pageCount = self.pageTotal();44 var start = (self.pageIndex() - 5) > 0 ? self.pageIndex() - 5 : 0;45 var end = (start + 9) < pageCount ? start + 9 : pageCount;46 if (end == pageCount)47 { var start = (pageCount - 9) > 0 ? pageCount - 9 : 0;; }48 self.btns.removeAll();49 for (var i = start; i < end; i++) {50 self.btns.push(ko.mapping.fromJS(i + 1));51 }52 });53 }54 $(document).ready(function () {55 $.getJSON("/BaseInfor/GetList",56 {57 pageIndex: 1, pageSize: 558 },59 function (data) {60 ko.applyBindings(new ViewModel(data));61 });62 });
HTML:
1 <table class="table table - striped"> 2 <thead> 3 <tr> 4 <th>姓名</th> 5 <th>性别</th> 6 <th>出生年月</th> 7 <th>年龄</th> 8 <th>民族</th> 9 <th>身份证号</th>10 <th>入党时间</th>11 <th>工作时间</th>12 <th>籍贯</th>13 <th>出生地</th>14 <th>证件照</th>15 </tr>16 </thead>17 <tbody>18 <!-- ko foreach: ObjectList -->19 <tr>20 <td data-bind="text:Name"></td>21 <td data-bind="text:Gender"></td>22 <td data-bind="text:BirthDate"></td>23 <td data-bind="text:Age"></td>24 <td data-bind="text:Nation"></td>25 <td data-bind="text:IDNumber"></td>26 <td data-bind="text:PartyTime"></td>27 <td data-bind="text:WorkTime"></td>28 <td data-bind="text:hail"></td>29 <td data-bind="text:BirthAddress"></td>30 <td data-bind="text:Photo"></td>31 </tr>32 <!-- /ko -->33 </tbody>34 </table>35 <div class="btn-toolbar" role="toolbar">36 <div class="btn-group">37 <input class="btn btn-success" type="button" value=http://www.mamicode.com/"<" data-bind="click:perPageClick" />38 </div>39 <div class="btn-group">40 <input class="btn btn-success" type="button" data-bind="value:‘1‘,click:firstPageClick" />41 </div>42 <div class="btn-group">43 <!-- ko foreach: btns -->44 <!-- ko if: $data=http://www.mamicode.com/=$parent.pageIndex() -->"color: #008080;">45 <button class="btn btn-success" type="button" data-bind="text:$data,click:$parent.btnClick"></button>46 <!-- /ko -->47 <!-- ko ifnot: $data=http://www.mamicode.com/=$parent.pageIndex() -->"color: #008080;">48 <button class="btn btn-default" type="button" data-bind="text:$data,click:$parent.btnClick"></button>49 <!-- /ko -->50 <!-- /ko -->51 </div>52 <div class="btn-group">53 <input class="btn btn-success" type="button" data-bind="value:pageTotal,click:lastPageClick" />54 </div>55 <div class="btn-group">56 <input class="btn btn-success" type="button" value=http://www.mamicode.com/">" data-bind="click:nextPageClick" />57 </div>58 <div class="btn-group">59 <span data-bind="text:TotalCount()+‘条数据‘" />60 </div>61 </div>62 <script src=http://www.mamicode.com/"/Scripts/jquery-2.1.1.min.js"></script>63 <script src=http://www.mamicode.com/"/Scripts/knockout-3.2.0.js"></script>64 <script src=http://www.mamicode.com/"/Scripts/knockout.mapping.js"></script>65 <script src=http://www.mamicode.com/"/Content/Plus/bootstrap-3.2.0-dist/js/bootstrap.min.js"></script>66 <link href=http://www.mamicode.com/"/Content/Plus/bootstrap-3.2.0-dist/css/bootstrap.min.css" rel="stylesheet" />67 <script src=http://www.mamicode.com/"/Scripts/BaseInfor/List.js"></script>
基于KO+bootstrap+MVC的分页控件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。