jQuery中Datatables增加跳轉(zhuǎn)到指定頁功能
更新時間:2017年02月08日 14:44:23 投稿:mrr
本文給大家分享jquery中datatable增加跳轉(zhuǎn)到指定頁面功能以及jquery datatable中加入雙擊跳轉(zhuǎn)功能的實例代碼,需要的朋友參考下
下面一段代碼是關(guān)于datatable增加跳轉(zhuǎn)到指定頁功能,具體代碼如下所示:
var
mytable = $('#datatables');
mytable.dataTable(
{
"sDom":
"<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType":
"bootstrap",
"bProcessing":
true,
"bServerSide":
true,
"sAjaxSource":
"/user/list",
"aoColumns":
[
{
"mData":
"Id"
},
{
"mData":
"Username"
},
{"mData":function(obj){
return
obj.group;
}},
{"mData":"yiyuan"},
{"mData":function(obj){
return
obj.keshi;
}},
{"mData":function(obj){
if(obj.Status==1){
return
"使用中";
}else{
return
"禁用";
}
}},
{"mData":
function(obj){
var
del="";
if(isAdmin){
del='<a
data-title="'
+ obj.Id + '"
class="btn btn-danger"><i class="icon-wrench icon-white" ></i>刪除</a>';
}
return
'<a data-title="'
+ obj.Id + '"
class="btn btn-success" href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><i class="icon-edit icon-white"></i>修改</a>'
+' '+del;
},bSortable
: false}
],
"fnDrawCallback":
function(){
var
oTable = $("#datatables").dataTable();
$('#redirect').keyup(function(e){
if($(this).val()
&& $(this).val()>0){
var
redirectpage = $(this).val()-1;
}else{
var
redirectpage = 0;
}
oTable.fnPageChange(
redirectpage );
});
}
});
bootstrap插件形式:
/*
Set the defaults for DataTables initialisation */
$.extend(
true,
$.fn.dataTable.defaults, {
"sDom":
"<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
"sPaginationType":
"bootstrap",
"oLanguage":
{
"sSearch":
"快速搜索:",
"bAutoWidth":
true,
"sLengthMenu":
"每頁顯示
_MENU_ 條記錄",
"sZeroRecords":
"Nothing
found - 沒有記錄",
"sInfo":
"_START_
到 _END_ 條,共 _TOTAL_ 條",
"sInfoEmpty":
"顯示0條記錄",
"sInfoFiltered":
"(從
_MAX_ 條中過濾)",
"sProcessing":"<div
style=''><img src='../static/img/loader.gif'><span>加載中...</span></div>",
"oPaginate":
{
"sPrevious":
"",
"sNext":
"",
"sLast":
">>",
"sFirst":
"<<"
}
}
}
);
/*
Default class modification */
$.extend(
$.fn.dataTableExt.oStdClasses, {
"sWrapper":
"dataTables_wrapper
form-inline"
}
);
/*
API method to get paging information */
$.fn.dataTableExt.oApi.fnPagingInfo
= function
( oSettings )
{
return
{
"iStart":
oSettings._iDisplayStart,
"iEnd":
oSettings.fnDisplayEnd(),
"iLength":
oSettings._iDisplayLength,
"iTotal":
oSettings.fnRecordsTotal(),
"iFilteredTotal":
oSettings.fnRecordsDisplay(),
"iPage":
Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ),
"iTotalPages":
Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength )
};
};
/*
Bootstrap style pagination control */
$.extend(
$.fn.dataTableExt.oPagination, {
"bootstrap":
{
"fnInit":
function(
oSettings, nPaging, fnDraw ) {
var
oLang = oSettings.oLanguage.oPaginate;
var
fnClickHandler = function
( e ) {
e.preventDefault();
if
( oSettings.oApi._fnPageChange(oSettings, e.data.action) ) {
fnDraw(
oSettings );
}
};
$(nPaging).addClass('pagination').append(
'<ul>'+
'<li
class="first disabled"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+oLang.sFirst+'</a></li>'+
'<li
class="prev disabled"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >← '+oLang.sPrevious+'</a></li>'+
'<li
class="next disabled"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+oLang.sNext+'
→ </a></li>'+
'<li
class="last disabled"><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+oLang.sLast+'</a></li>'+
'<input
type="text" style="width: 30px;padding-top: 5px;padding-bottom: 5px;height: 18px;border-left: 0px;border-radius: 0px 4px 4px 0px;" id="redirect" class="redirect">'+
'</ul>'
);
//datatables分頁跳轉(zhuǎn)
$(nPaging).find(".redirect").keyup(function(e){
var
ipage = parseInt($(this).val());
var
oPaging = oSettings.oInstance.fnPagingInfo();
if(isNaN(ipage)
|| ipage<1){
ipage
= 1;
}else
if(ipage>oPaging.iTotalPages){
ipage=oPaging.iTotalPages;
}
$(this).val(ipage);
ipage--;
oSettings._iDisplayStart
= ipage * oPaging.iLength;
fnDraw(
oSettings );
});
var
els = $('a',
nPaging);
$(els[0]).bind(
'click.DT',
{
action:
"first"
},
fnClickHandler );
$(els[1]).bind(
'click.DT',
{
action:
"previous"
},
fnClickHandler );
$(els[2]).bind(
'click.DT',
{
action:
"next"
},
fnClickHandler );
$(els[3]).bind(
'click.DT',
{
action:
"last"
},
fnClickHandler );
},
"fnUpdate":
function
( oSettings, fnDraw ) {
var
iListLength = 5;
var
oPaging = oSettings.oInstance.fnPagingInfo();
var
an = oSettings.aanFeatures.p;
var
i, ien, j, sClass, iStart, iEnd, iHalf=Math.floor(iListLength/2);
if
( oPaging.iTotalPages < iListLength) {
iStart
= 1;
iEnd
= oPaging.iTotalPages;
}
else
if
( oPaging.iPage <= iHalf ) {
iStart
= 1;
iEnd
= iListLength;
}
else
if
( oPaging.iPage >= (oPaging.iTotalPages-iHalf) ) {
iStart
= oPaging.iTotalPages - iListLength + 1;
iEnd
= oPaging.iTotalPages;
}
else
{
iStart
= oPaging.iPage - iHalf + 1;
iEnd
= iStart + iListLength - 1;
}
for
( i=0, ien=an.length ; i<ien ; i++ ) {
//
Remove the middle elements
($('li:gt(1)',
an[i]).filter(':not(:last)')).filter(':not(:last)').remove();
//
Add the new list items and their event handlers
for
( j=iStart ; j<=iEnd ; j++ ) {
sClass
= (j==oPaging.iPage+1) ? 'class="active"'
: '';
$('<li
'+sClass+'><a
href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >'+j+'</a></li>')
.insertBefore(
$('.next',
an[i])[0] )
.bind('click',
function
(e) {
e.preventDefault();
oSettings._iDisplayStart
= (parseInt($('a',
this).text(),10)-1)
* oPaging.iLength;
fnDraw(
oSettings );
}
);
}
//
Add / remove disabled classes from the static elements
if
( oPaging.iPage === 0 ) {
$('li:lt(2)',
an[i]).addClass('disabled');
}
else
{
$('li:lt(2)',
an[i]).removeClass('disabled');
}
if
( oPaging.iPage === oPaging.iTotalPages-1 || oPaging.iTotalPages === 0 ) {
$('.next',
an[i]).addClass('disabled');
$('li:last',
an[i]).addClass('disabled');
}
else
{
$('.next',
an[i]).removeClass('disabled');
$('li:last',
an[i]).removeClass('disabled');
}
}
}
}
}
);
/*
*
TableTools Bootstrap compatibility
*
Required TableTools 2.1+
*/
if
( $.fn.DataTable.TableTools ) {
//
Set the classes that TableTools uses to something suitable for Bootstrap
$.extend(
true,
$.fn.DataTable.TableTools.classes, {
"container":
"DTTT
btn-group",
"buttons":
{
"normal":
"btn",
"disabled":
"disabled"
},
"collection":
{
"container":
"DTTT_dropdown
dropdown-menu",
"buttons":
{
"normal":
"",
"disabled":
"disabled"
}
},
"print":
{
"info":
"DTTT_print_info
modal"
},
"select":
{
"row":
"active"
}
}
);
//
Have the collection use a bootstrap compatible dropdown
$.extend(
true,
$.fn.DataTable.TableTools.DEFAULTS.oTags, {
"collection":
{
"container":
"ul",
"button":
"li",
"liner":
"a"
}
}
);
}
好了,下面看下jQuery datatable中加入雙擊跳轉(zhuǎn)功能
$('#topicDg tbody').on('dblclick','tr',function(){
var self=$(this);
var id=self.find('.td-id').text();
var name=self.find('.td-name').text();
creatIframe("/post/postList.do?id="+id+"&name="+name,"帖子管理");
});
ps:點擊話題列表中的一行,跳轉(zhuǎn)到帖子列表中。
您可能感興趣的文章:
- jQuery Datatables 動態(tài)列+跨列合并實現(xiàn)代碼
- jQuery+Datatables實現(xiàn)表格批量刪除功能【推薦】
- jQuery+datatables插件實現(xiàn)ajax加載數(shù)據(jù)與增刪改查功能示例
- jQuery Datatables表頭不對齊的解決辦法
- jQuery插件DataTables分頁開發(fā)心得體會
- JQuery.dataTables表格插件添加跳轉(zhuǎn)到指定頁
- 利用JQuery實現(xiàn)datatables插件的增加和刪除行功能
- jQuery.datatables.js插件用法及api實例詳解
- jQuery dataTables與jQuery UI 對話框dialog的使用教程
- jquery表格datatables實例解析 直接加載和延遲加載
- jQuery插件dataTables添加序號列的方法
- jQuery DataTables插件自定義Ajax分頁實例解析
- jQuery插件datatables使用教程
- jQuery表格插件datatables用法匯總
- jQuery表格插件datatables用法詳解
- jquery+php實現(xiàn)導(dǎo)出datatables插件數(shù)據(jù)到excel的方法
- jQuery表格插件datatables用法總結(jié)
- Jquery Datatables的使用詳解
相關(guān)文章
jQuery使用attr()方法同時設(shè)置多個屬性值用法實例
這篇文章主要介紹了jQuery使用attr()方法同時設(shè)置多個屬性值的用法,實例分析了jQuery中attr方法實現(xiàn)多個屬性設(shè)置的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03
jquery如何改變html標簽的樣式(兩種實現(xiàn)方法)
對于如何修飾html標簽,這對于js來說,可以通過setAttribute來設(shè)置標簽的屬性,通過getAttribute來得到標簽的屬性,而在jq中當然也可以實現(xiàn)類似的功能,方法上肯定比js要簡化多了,接下來介紹實現(xiàn)方法,感興趣的朋友可以了解下2013-01-01
jQuery移動端日期(datedropper)和時間(timedropper)選擇器附源碼下載
今天我給大家介紹一款非常有趣的日期和時間選擇器,它分為日期選擇器datedropper以及時間選擇器timedropper,他們倆尤其適合在移動端上應(yīng)用。感興趣的小伙伴一起學(xué)習吧2016-04-04
jQuery 獲取、設(shè)置HTML或TEXT內(nèi)容的兩種方法
這篇文章主要介紹了jQuery 獲取、設(shè)置HTML或TEXT內(nèi)容的兩種方法,需要的朋友可以參考下2014-05-05

