博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简单漂亮bootstrap grid列表分页 demo.
阅读量:4687 次
发布时间:2019-06-09

本文共 5571 字,大约阅读时间需要 18 分钟。

效果如下:

需要的引用以下内容

bootstrap2 

bootstrap-paginator v0.5 主页 

jquery1.8 

 

----------------------------------------------------------------------------------------------------

 

目前bootstrap对grid的处理还不是很好所有自己主要写了些方法处理.主要处理方法

playingui.js

//demo做的一个大对象而已.主要是buildgrid方法  1 var playingui = { 2     //动态变量方法,为了可以方便统一以$+id的方式去取的dom的对象 3     autovariable: function (options) { 4         if (options != undefined) { 5             if (typeof options == "string") { 6                 options=options.split(','); 7                 for (var i = 0; i < options.length; i++) { 8                     eval("$" + options[i] + "=$('#" + options[i] + "');"); 9                 }10             }11         }12     },13     //建立grid14     buildgrid:function(grid)15     {16          var html = '';17          //grid的json数据18          var json = grid.json;19          //grid的json字段20          var fields=grid.data;21             for (var i = 0; i < json.length; i++) {22                     html += "";23                     for (var j = 0; j < fields.length; j++){24                         var name = json[i][fields[j].name];25                         //当前json的字段26                         var field = fields[j];27                         //currentfield:当前json28                         //那么如果json[i][fields[j]]  就等于json.xxx的对象29                         var currentfield = json[i];30                         31                         //如果该列是操作列,那么只做这件事32                         if(field.type=='opfield')33                         {34                             html += getTbodyTd(field.value(currentfield));35                         }36                         else{37                             if (field.value!=undefined && typeof field.value=="function")38                             {39                                 html += getTbodyTd(field.value(currentfield));40                             }41                             else42                             {43                                 if (field.type == 'date') {44                                     //这里注释了,因为这里使用到baidu的tangram插件,主要用来格式化格式,当然也可以用别的方式.45                                     //html += getTbodyTd(baidu.date.format(new Date(name),'yyyy-MM-dd'));46                                     html += getTbodyTd(name);47                                 }48                                 else{49                                     html += getTbodyTd(name);50                                 }51                             }52                         }53                         //grid的onloading方法54                         grid.onloading(currentfield);55                     }56                     html += "";57             }58             $tbody.show();59          $tbodyPage.show();60          $tbodyList.html(html);61          //成功获取数据绑定page62          bindPage();63     }64     65 };66

 

demo.html 的script部分的主要方法

//绑定grid  1 function bindGrid(newPag) { 2     showNoRecord(false); 3     $.ajax({ 4         type: "get", 5         //这里用的是*.js文件方便demo 6         url: 'datajson.js', 7         dataType: "json", 8         beforeSend: function () { showLoadingImg(true); }, 9         complete: function () { showLoadingImg(false); },10         success: function (data) {11             if (data.dataMap == null) {12                 showNoRecord(true);13             }14             else {15                 var json = data.dataMap.msg;16                 jsonpagesize = data.dataMap.totalpage;17                 //定义grid对象18                 var grid = {};19                 //赋值到grid20                 grid.json = json;21                 //定义data的数组,将会根据此定义来生成建立grid22                 grid.data = [23                     { name: 'deviceid', type: 'string' },24                     { name: 'devicename', type: 'string' },25                     { name: 'deviceip', type: 'string' },26                     { name: 'deviceversion', type: 'string' },27                     { name: 'serverversion', type: 'string' },28                     { name: 'logindate', type: 'date' },29                     {30                         name: 'isonline', type: 'string', value:31                            //value自定义函数,方便返回数据。32                            function (currentfield) {33                                return currentfield.isonline == true ? "在线" : "离线";34                            }35                     },36                         //操作列定义type为opfield即可37                     {38                         name: 'opfield', type: 'opfield', value:39                            function (currentfield) {40                                return getTbodyOpButton((currentfield.isonline == true ? '关机' : '开机'), currentfield.deviceid);41                            }42                     }43                 ];44                 //定义onloading事件45                 grid.onloading = function (currentfield) {46                     //用变量来保存特殊数值,方便以后传输数据.47                     device[currentfield.deviceid] = {48                         port: currentfield.deviceport49                     };50                 };51                 playingui.buildgrid(grid);52             }53         }54     });55 }

 

 

//绑定分页  1 function bindPage() { 2     var options = { 3         currentPage: 1, 4         totalPages: jsonpagesize, 5         onPageChanged: function(e, oldPage, newPage) { 6             //调用绑定grid .这儿传入newpage方便在绑定grid的时候做分页的查询. 7             bindGrid(newPage); 8         } 9     };10     $tbodyPage.bootstrapPaginator(options);11 }

 

这是一个非常轻量级的组建的(列表+分页),也没有一个一些大框架的笨重.兼容性还不错,推荐.

 

转载于:https://www.cnblogs.com/chenchangwen/p/3393351.html

你可能感兴趣的文章
多线程之进度条
查看>>
程序启动的完整过程
查看>>
java资料——哈希表(散列表)(转)
查看>>
反射,invoke()
查看>>
iServer6R使用WMTS自定义比例尺出图
查看>>
pinyin4j的使用
查看>>
Android_ 重写系统Crash处理类,保存Crash信息到SD卡 和 完美退出程序的方法
查看>>
tcpcopy用法
查看>>
34个加速页面载入速度的技巧
查看>>
MAC Objective-C 开发经典书籍推荐
查看>>
OSGi bundle之间互相通信的方法
查看>>
C++ 沉思录——Chap8:一个面向对象程序范例
查看>>
.NET 的编码
查看>>
数据存储——手机内部文件存储
查看>>
HDU 2586 LCA
查看>>
linux安装openldap步骤
查看>>
九度OJ 1035:找出直系亲属(二叉树)
查看>>
hive left outer join的问题
查看>>
32位Win7下安装与配置PHP环境(二)
查看>>
图片、浏览器-HTML5/CSS3系列教程:使用SVG图片-by小雨
查看>>