js表格按列排序
1、列的th设置一个属性,例如:
<table>
<tr>
<th sort='vppv'><span >VPPV</span></th>
<th sort='uv'><span >UV</span></th>
<th><span >不参与排序</span></th>
</tr>
</table>
2、根据Sort属性值进行排序,代码如下:
//对表格中的数据,按照规则排序
//a表示排序的字段,attr('sort')
//b表示升序还是降序(可以设置:desc和asc两个属性,类似于sort)
function refreshMycomOrder(a, b) {
var t = allofobj.tdata;
var tempa = [];
for (i in t) {
t[i].comId = i;
tempa.push(t[i]);
}
var compare = function(prop) {
return function(obj1, obj2) {
var val1 = obj1[prop];
var val2 = obj2[prop];
if (val1 < val2) {
return -1;
} else if (val1 > val2) {
return 1;
} else {
return 0;
}
}
}
tempa.sort(compare(a));
if (b == "desc") {
tempa.reverse();
}
var tempo = {};
var tempstr = "";
for (i = 0; i < tempa.length; i++) {
tempo[i] = tempa[i];
if (i < allofobj.pagerow) {
tempstr += "<tr>";
tempstr += "<td>" + tempa[i].commName + "</td>";
tempstr += "<td>" + tempa[i].pmBrokerComm + "</td>";
tempstr += "<td class='tdgray'>" + tempa[i].brokerVppvAvgComm + "</td>";
tempstr += "<td class='tdgray'>" + tempa[i].propVppvAvgComm + "</td>";
tempstr += "<td>" + tempa[i].pmProp + "</td>";
tempstr += "<td>" + tempa[i].pmPropRank + "</td>";
tempstr += "<td>" + tempa[i].validVppv + "</td>";
tempstr += "<td class='tdgray'>" + tempa[i].validVppvRank + "</td>";
tempstr += "<td class='tdgray'>" + tempa[i].propVppvAvg + "</td>";
tempstr += "<td>" + tempa[i].propVppvAvgRank + "</td>";
tempstr += "</tr>";
}
}
$('#comanatable tbody').html(tempstr);