手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >基于KO+BootStrap+MVC实现的分页控件代码分享
基于KO+BootStrap+MVC实现的分页控件代码分享
摘要:JS:///varViewModel=function(data){varself=this;self.ObjectList=ko.obse...

JS:

/// <reference path="../knockout-3.2.0.js" /> var ViewModel = function (data) { var self = this; self.ObjectList = ko.observableArray(data.ObjectList) self.TotalCount = ko.observable(data.TotalCount); self.PerCount = ko.observable(data.PerCount); self.pageIndex = ko.observable(data.Index); self.btns = ko.observableArray(); var getData = function (wantIndex) { $.getJSON("/BaseInfor/GetList", { pageIndex: wantIndex, pageSize: self.PerCount() }, function (data) { self.ObjectList(data.ObjectList); self.TotalCount(data.TotalCount); self.PerCount(data.PerCount); self.pageIndex(data.Index); }); } self.btnClick = function (item) { getData(item); } self.perPageClick = function () { var wantIndex = self.pageIndex() - 1; if (wantIndex <= 0) return; getData(wantIndex); } self.nextPageClick = function () { var wantIndex = self.pageIndex() + 1; if (wantIndex - 1 > (self.TotalCount() / self.PerCount())) return; getData(wantIndex); } self.firstPageClick = function () { getData(1); } self.lastPageClick = function () { getData(self.pageTotal()); } ko.computed(function () { self.pageTotal = ko.observable(Math.ceil((self.TotalCount() / self.PerCount()))) var pageCount = self.pageTotal(); var start = (self.pageIndex() - 5) > 0 ? self.pageIndex() - 5 : 0; var end = (start + 9) < pageCount ? start + 9 : pageCount; if (end == pageCount) { var start = (pageCount - 9) > 0 ? pageCount - 9 : 0;; } self.btns.removeAll(); for (var i = start; i < end; i++) { self.btns.push(ko.mapping.fromJS(i + 1)); } }); } $(document).ready(function () { $.getJSON("/BaseInfor/GetList", { pageIndex: 1, pageSize: 5 }, function (data) { ko.applyBindings(new ViewModel(data)); }); });

HTML:

<table> <thead> <tr> <th>姓名</th> <th>性别</th> <th>出生年月</th> <th>年龄</th> <th>民族</th> <th>身份证号</th> <th>入党时间</th> <th>工作时间</th> <th>籍贯</th> <th>出生地</th> <th>证件照</th> </tr> </thead> <tbody> <> <tr> <td data-bind="text:Name"></td> <td data-bind="text:Gender"></td> <td data-bind="text:BirthDate"></td> <td data-bind="text:Age"></td> <td data-bind="text:Nation"></td> <td data-bind="text:IDNumber"></td> <td data-bind="text:PartyTime"></td> <td data-bind="text:WorkTime"></td> <td data-bind="text:hail"></td> <td data-bind="text:BirthAddress"></td> <td data-bind="text:Photo"></td> </tr> <> </tbody> </table> <div role="toolbar"> <div> <input type="button" value="<" data-bind="click:perPageClick" /> </div> <div> <input type="button" data-bind="value:'1',click:firstPageClick" /> </div> <div> <> <> <button type="button" data-bind="text:$data,click:$parent.btnClick"></button> <> <> <button type="button" data-bind="text:$data,click:$parent.btnClick"></button> <> <> </div> <div> <input type="button" data-bind="value:pageTotal,click:lastPageClick" /> </div> <div> <input type="button" value=">" data-bind="click:nextPageClick" /> </div> <div> <span data-bind="text:TotalCount()+'条数据'" /> </div> </div> <script src="http://www.jb51.netScripts/jquery-2.1.1.min.js"></script> <script src="http://www.jb51.netScripts/knockout-3.2.0.js"></script> <script src="http://www.jb51.netScripts/knockout.mapping.js"></script> <script src="http://www.jb51.netContent/Plus/bootstrap-3.2.0-dist/js/bootstrap.min.js"></script> <link href="/Content/Plus/bootstrap-3.2.0-dist/css/bootstrap.min.css" rel="stylesheet" /> <script src="http://www.jb51.netScripts/BaseInfor/List.js"></script>

以上所述是小编给大家介绍的基于KO+BootStrap+MVC实现的分页控件代码分享,希望对大家有所帮助,如果大家有任何疑问请给我们留言,小编会及时回复大家的。在此也非常感谢大家对查字典教程网的支持!

【基于KO+BootStrap+MVC实现的分页控件代码分享】相关文章:

jQuery实现div随意拖动的实例代码(通用代码)

基于JavaScript实现智能右键菜单

JavaScript基于setTimeout实现计数的方法

JavaScript实现列表分页功能特效

解析Node.js基于模块和包的代码部署方式

jquery实现的判断倒计时是否结束代码

jQuery Timelinr实现垂直水平时间轴插件(附源码下载)

JS+CSS实现的拖动分页效果实例

Js和JQuery获取鼠标指针坐标的实现代码分享

基于jQuery实现的无刷新表格分页实例

精品推荐
分类导航