如何在 datables中加入可输入的分页样式
来源:互联网 发布:上海盘石软件电话 编辑:程序博客网 时间:2024/05/20 00:48
最近写一个datatables的分页功能想把他改成可输入第几页然后goto进入那一页找到了方法,分享一下:
这里要用到extjs的插件在datables里这个插件的代码大概如下:
$.fn.dataTableExt.oApi.fnExtStylePagingInfo = function ( oSettings ){ return { "iStart": oSettings._iDisplayStart, "iEnd": oSettings.fnDisplayEnd(), "iLength": oSettings._iDisplayLength, "iTotal": oSettings.fnRecordsTotal(), "iFilteredTotal": oSettings.fnRecordsDisplay(), "iPage": oSettings._iDisplayLength === -1 ? 0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ), "iTotalPages": oSettings._iDisplayLength === -1 ? 0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength ) };}; $.fn.dataTableExt.oPagination.extStyle = { "fnInit": function (oSettings, nPaging, fnCallbackDraw) { var oPaging = oSettings.oInstance.fnExtStylePagingInfo(); nFirst = $('<span/>', { 'class': 'paginate_button first' , text : "<<" }); nPrevious = $('<span/>', { 'class': 'paginate_button previous' , text : "<" }); nNext = $('<span/>', { 'class': 'paginate_button next' , text : ">" }); nLast = $('<span/>', { 'class': 'paginate_button last' , text : ">>" }); nPageTxt = $("<span />", { text: 'Page' }); nPageNumBox = $('<input />', { type: 'text', val: 1, 'class': 'pageinate_input_box' }); nPageOf = $('<span />', { text: '/' }); nTotalPages = $('<span />', { class : "paginate_total" , text : oPaging.iTotalPages }); $(nPaging) .append(nFirst) .append(nPrevious) .append(nPageTxt) .append(nPageNumBox) .append(nPageOf) .append(nTotalPages) .append(nNext) .append(nLast); nFirst.click(function () { if( $(this).hasClass("disabled") ) return; oSettings.oApi._fnPageChange(oSettings, "first"); fnCallbackDraw(oSettings); }).bind('selectstart', function () { return false; }); nPrevious.click(function () { if( $(this).hasClass("disabled") ) return; oSettings.oApi._fnPageChange(oSettings, "previous"); fnCallbackDraw(oSettings); }).bind('selectstart', function () { return false; }); nNext.click(function () { if( $(this).hasClass("disabled") ) return; oSettings.oApi._fnPageChange(oSettings, "next"); fnCallbackDraw(oSettings); }).bind('selectstart', function () { return false; }); nLast.click(function () { if( $(this).hasClass("disabled") ) return; oSettings.oApi._fnPageChange(oSettings, "last"); fnCallbackDraw(oSettings); }).bind('selectstart', function () { return false; }); nPageNumBox.change(function () { var pageValue = parseInt($(this).val(), 10) - 1 ; // -1 because pages are 0 indexed, but the UI is 1 var oPaging = oSettings.oInstance.fnPagingInfo(); if(pageValue === NaN || pageValue<0 ){ pageValue = 0; }else if(pageValue >= oPaging.iTotalPages ){ pageValue = oPaging.iTotalPages -1; } oSettings.oApi._fnPageChange(oSettings, pageValue); fnCallbackDraw(oSettings); }); }, "fnUpdate": function (oSettings, fnCallbackDraw) { if (!oSettings.aanFeatures.p) { return; } var oPaging = oSettings.oInstance.fnExtStylePagingInfo(); /* Loop over each instance of the pager */ var an = oSettings.aanFeatures.p; $(an).find('span.paginate_total').html(oPaging.iTotalPages); $(an).find('.pageinate_input_box').val(oPaging.iPage+1); $(an).each(function(index,item) { var $item = $(item); if (oPaging.iPage == 0) { var prev = $item.find('span.paginate_button.first').add($item.find('span.paginate_button.previous')); prev.addClass("disabled"); }else { var prev = $item.find('span.paginate_button.first').add($item.find('span.paginate_button.previous')); prev.removeClass("disabled"); } if (oPaging.iPage+1 == oPaging.iTotalPages) { var next = $item.find('span.paginate_button.last').add($item.find('span.paginate_button.next')); next.addClass("disabled"); }else { var next = $item.find('span.paginate_button.last').add($item.find('span.paginate_button.next')); next.removeClass("disabled"); } }); }};
要使用这个插件只要在你的表格中属性中加上
"sPaginationType"
:
"extStyle"
导入对应的js就可以了
还会在完善的
0 0
- 如何在 datables中加入可输入的分页样式
- html的select加入可输入文本
- 在jsp中怎样加入css样式
- 如何将样式表加入的网页
- asp.net 中 DropDownList 加入可输入功能解决方案
- 如何在自己的程序中加入宏的功能
- phpcms中如何修改分页样式?
- 如何在delphi的代码中加入一个过程
- 如何在程序中加入对vbscript的支持
- 如何在sql的查询结果中加入序号?
- html中如何在背景图片的某个区域加入连接
- 如何在patform中加入自己的工程
- 如何在网页中加入关闭窗口的按钮?
- 如何在你的软件中加入脚本功能
- 【转】如何在weka中加入自己的算法
- 在visio的框图中如何加入公式
- 如何在制作的网页中加入google地图
- 如何在你的页面中,加入QQ调用
- ACM经典算法之数学问题模板
- SQL注入之DVWA平台测试mysql注入
- Unity Asset(3)虚拟摇杆插件 EasyTouch
- 重新开始学习
- 日常训练小结
- 如何在 datables中加入可输入的分页样式
- 浅析SSH核心原理(二)
- 1637 - Double Patience (概率DP)
- POJ1776 Task Sequences
- Hdu oj 1596 find the safest road
- python 数据类型 序列——列表
- vijos - P1543极值问题(斐波那契数列 + 公式推导 + python)
- hdu1312
- 【汉化硬盘版】Muv-luv+Muv-Luv Alternative(带全CG存档+免安装,卸载补丁+打开存档文件夹补丁+中文攻略)