我正在寻找一个jQuery解决方案,它可以按列进行排序和分组;然后,在页脚部分,应该可以显示上面所有值的总和。
示例:我有三列:国家/地区,日期和销售:
US 20120714 50
DE 20120714 40
BR 20120714 30
US 20120715 60
DE 20120715 60
BR 20120715 20
如果按国家排序:
BR 20120714 30
BR 20120715 20
50
DE 20120714 40
DE 20120715 60
100
US 20120714 50
US 20120715 60
110
如果按日期排序:
BR 20120714 30
DE 20120714 40
US 20120714 50
120
BR 20120715 20
DE 20120715 60
US 20120715 60
140
依旧......
是否有可用的插件?
答案 0 :(得分:4)
正如已经建议的那样,Datatables是一个很好用且易于使用的JQuery插件,可以满足您的需求。它支持开箱即用,也可以进行分组。见example 您还可以修改页脚以显示列的总和,例如此example。
但是,您也可以使用fnDrawCallback
功能。每次绘制表格时都会调用它,并为您提供修改它应该如何绘制的可能性。
实施例:
"fnDrawCallback": function (oSettings) {
// Get all rows of your table
var nTrs = $tableElement.find('tbody tr');
// Enumerate all rows
var sum = 0;
for (var i = 0; i < nTrs.length; i++) {
var iDisplayIndex = oSettings._iDisplayStart + i;
var dataIndex = oSettings.aiDisplay[iDisplayIndex];
sum += oSettings.aoData[dataIndex]._aData.{your item};
}
// Insert sum at the end
$tableElement.find(' tbody tr:last').after('<p>'+sum+'</p>');
在此示例中,变量$tableElement
包含数据表实例的JQuery对象。
答案 1 :(得分:1)
很明显你需要尝试serach,它非常容易使用谷歌,在这里你需要自己尝试然后你需要问你关于你的“问题”的问题。
在这里你必须学习如何钓鱼而不是给你一条免费的鱼:)
你问题的另一面是非常广泛的,我的意思是很多会给你很多插件,一切都是正确的,但你会选择“你的”答案为“你”想要,而不是因为答案是真的正确或最好
这就是为什么你会得到投票的原因。 (正如我所想或所见)
无论如何,你可以看看你是否想要这样的插件:http://datatables.net/release-datatables/examples/plug-ins/sorting_sType.html
或其他方式:http://datatables.net/ 也许你需要编码(求和)。
这里有很多插件:http://www.jquery4u.com/plugins/30-amazing-jquery-tables/#.UAUUD_XU6Iw
自己探索他们我希望你会得到一些有用的东西,我用非常简单的谷歌搜索和愚蠢的话语得到这些链接:)
答案 2 :(得分:1)
我宁愿不用沉重的逻辑来惹恼客户端,它会口吃而且速度慢。
只需执行所有排序/分组/计数服务器,并为您的客户提供已处理并准备好显示的所有数据。
为此你只需要一个简单的ajax调用和一堆参数:不需要在不需要的地方做魔术。