sAjaxSource参数,值是url。table会发送ajax请求,从服务器端获取数据。服务器端返回的数据应该是一个可以被转换成JSON对象的JSON字符串。这个字符串必须严格符合JSON格式的要求。否则会出错。该数据对象该对象的key应该是“aaData”,例如: Js代码: { "aaData": { "columnA":"valueA", "columnB":"valueB", } } bServerSide参数,设置成true,表示使用服务器端处理数据。当排序时,会直接到后台查询数据,直接显示,不会在前端进行排序 *** 作。 fnServerData参数,用来自定义函数,代替DataTables插件默认的从服务器端查询数据的函数。默认的函数如下: 原文参考自站长网: >
直接JQUERY改埃 就是执行的位置问题。
可以放到onload里试试 $("table:eq(0) th")css("background-color", "red");
您好,很高兴能帮助您,
$(document)ready(function()
{
//插件的形式
jQueryfnalterRowColors = function()
{
$('tbody tr:odd', this)removeClass('even')addClass('odd');
$('tbody tr:even', this)removeClass('odd')addClass('even');
return this;
}
//1此时的函数是作为jQueryfn的一个新属性定义的,不是孤立的函数,这样就把该函数注册成了一个插件,
//2使用关键字this,在一个插件内部,this表示的是调用该插件的jQuery对象,
//3最后在函数的末尾返回this,返回这个值可以使这个新方法能够继续连缀其他的方法。
var $sortOrder = 0; //排序类型 1表示升序,0表示降序
var $table = $('table#shop');
$tablealterRowColors();
$('th', $table)each(function( column )
{
//处理三种有可能存在的排序字段,比较方法
var findSortKey;
if( $(this)is('sort-title') || $(this)is('sort-author') )
{
findSortKey = function( $cell )
{
return $cellfind('sort-title')text()toUpperCase()+ '' +$celltext()toUpperCase();
}
}
else if( $(this)is('sort-date') )
{
findSortKey = function( $cell )
{
return Dateparse('1' + $celltext());
}
}
else if( $(this)is('sort-price') )
{
findSortKey = function( $cell )
{
var key = parseFloat($celltext()replace(/^[^\d]/, ''))
return isNaN(key) 0 : key;
}
}
//排序
if( findSortKey )
{
$(this)addClass('clickable')hover(function()
{
$(this)addClass('hover');
var $title = $sortOrder == 0 '升序' : '降序';
$(this)attr('title', '按'+ $(this)html() + $title +'排列');
}, function()
{
$(this)removeClass('hover');
})click(function()
{
$sortOrder = $sortOrder == 0 1 : 0;
var rows = $tablefind('tbody > tr')get();
$each( rows, function( index, row )
{
rowsortKey = findSortKey($(row)children('td')eq(column));
});
//排序方法
rowssort(function( a, b )
{
if( $sortOrder == 1 )
{
//升序
if(asortKey < bsortKey) return -1;
if(asortKey > bsortKey) return 1;
return 0;
}
else
{
//降序
if(asortKey < bsortKey) return 1;
if(asortKey > bsortKey) return -1;
return 0;
}
});
//排序后的对象添加给$table
$each( rows, function( index, row )
{
$tablechildren('tbody')append(row);
rowsortKey = null;
});
//显著标明是通过某一列排序的
$tablefind('td')removeClass('sorted')
filter(':nth-child('+ (column + 1) +')')addClass('sorted');
//重新赋予奇偶行的样式
$tablealterRowColors();
});
}
});
//分页效果
var currentPage = 0; //当前页
var pageSize = 10; //每页行数(不包括表头)
//绑定分页事件
$tablebind('repaginate', function()
{
$tablefind('tbody tr')hide()
slice(currentPage pageSize, (currentPage + 1) pageSize)show();
});
var numRows = $tablefind('tbody tr')length; //记录宗条数
var numPages = Mathceil(numRows/pageSize); //总页数
var $pager = $('<div class="page"></div>'); //分页div
for( var page = 0; page < numPages; page++ )
{
//为分页标签加上链接
$('<a href="#" ><span>'+ (page+1) +'</span></a>')
bind("click", { "newPage": page }, function(event)
{
currentPage = eventdata["newPage"];
$tabletrigger("repaginate");
})
appendTo($pager);
$pagerappend(" ");
}
$pagerinsertAfter($table); //分页div插入table
$tabletrigger("repaginate"); //初始化
});
你的采纳是我前进的动力,还有不懂的地方,请你继续“追问”!
如你还有别的问题,可另外向我求助;答题不易,互相理解,互相帮助!
以上就是关于如何取出datatables里的fncallback全部的内容,包括:如何取出datatables里的fncallback、datatables怎么创建一个新的input、datatables.js插件,可以使用配置生成表头吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)