如何在 datables中加入可输入的分页样式
2015-08-18 22:19
946 查看
最近写一个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){
varoPaging=oSettings.oInstance.fnExtStylePagingInfo();
nFirst=$('<span/>',{'class':'paginate_buttonfirst',text:"<<"});
nPrevious=$('<span/>',{'class':'paginate_buttonprevious',text:"<"});
nNext=$('<span/>',{'class':'paginate_buttonnext',text:">"});
nLast=$('<span/>',{'class':'paginate_buttonlast',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(){returnfalse;});
nPrevious.click(function(){
if($(this).hasClass("disabled"))
return;
oSettings.oApi._fnPageChange(oSettings,"previous");
fnCallbackDraw(oSettings);
}).bind('selectstart',function(){returnfalse;});
nNext.click(function(){
if($(this).hasClass("disabled"))
return;
oSettings.oApi._fnPageChange(oSettings,"next");
fnCallbackDraw(oSettings);
}).bind('selectstart',function(){returnfalse;});
nLast.click(function(){
if($(this).hasClass("disabled"))
return;
oSettings.oApi._fnPageChange(oSettings,"last");
fnCallbackDraw(oSettings);
}).bind('selectstart',function(){returnfalse;});
nPageNumBox.change(function(){
varpageValue=parseInt($(this).val(),10)-1;//-1becausepagesare0indexed,buttheUIis1
varoPaging=oSettings.oInstance.fnPagingInfo();
if(pageValue===NaN||pageValue<0){
pageValue=0;
}elseif(pageValue>=oPaging.iTotalPages){
pageValue=oPaging.iTotalPages-1;
}
oSettings.oApi._fnPageChange(oSettings,pageValue);
fnCallbackDraw(oSettings);
});
},
"fnUpdate":function(oSettings,fnCallbackDraw){
if(!oSettings.aanFeatures.p){
return;
}
varoPaging=oSettings.oInstance.fnExtStylePagingInfo();
/*Loopovereachinstanceofthepager*/
varan=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){
varprev=$item.find('span.paginate_button.first').add($item.find('span.paginate_button.previous'));
prev.addClass("disabled");
}else{
varprev=$item.find('span.paginate_button.first').add($item.find('span.paginate_button.previous'));
prev.removeClass("disabled");
}
if(oPaging.iPage+1==oPaging.iTotalPages){
varnext=$item.find('span.paginate_button.last').add($item.find('span.paginate_button.next'));
next.addClass("disabled");
}else{
varnext=$item.find('span.paginate_button.last').add($item.find('span.paginate_button.next'));
next.removeClass("disabled");
}
});
}
};
要使用这个插件只要在你的表格中属性中加上
导入对应的js就可以了
还会在完善的
这里要用到extjs的插件在datables里这个插件的代码大概如下:
要使用这个插件只要在你的表格中属性中加上
"sPaginationType"
:
"extStyle"
导入对应的js就可以了
还会在完善的
相关文章推荐
- CSS选择符的种类以及对比分析
- CSS画三角形集锦
- 实例讲解CSS3中的border-radius属性
- 详解CSS3中使用gradient实现渐变效果的方法
- “IE浏览器不支持在css文件中设定的dialog宽度”解决方法
- Windows窗口样式速查参考,Delphi窗口控件的风格都有它们来决定(附Delphi何时用到它们,并举例说明)good
- css3--实现最小宽的的方法(带滚动条)
- 笔记-CSS3实现3D搜索输入框
- 笔记-CSS3实现3D搜索输入框
- iOS 扫描上的层及其样式(三)
- css 基础知识
- css
- iOS 扫描上的层及其样式(二)
- css 基础知识
- iOS 扫描上的层及其样式(一)
- CSS属性选择器
- Flex SuperTabNavigator中SuperTab关闭按钮样式修改
- UCSS概念设计
- 三角形及选中取消按钮的css代码
- 三角形及选中取消按钮的css代码