我想知道是否有办法使用表格分类器对列进行排序
所以我可以根据一些ID或任何东西自己安排列。
所以在这里,例如,如果我想对表进行排序,以便Apple列为 首先,我该怎么做?
答案 0 :(得分:1)
演示: http://jsfiddle.net/fKMqD/
代码:
var rows = $('tr');
rows.eq(0).find('td').sort(function(a, b){
return $.text([a]) > $.text([b]) ? 1: -1;
}).each(function(newIndex){
var originalIndex = $(this).index();
rows.each(function(){
var td = $(this).find('td');
if (originalIndex !== newIndex)
td.eq(originalIndex).insertAfter(td.eq(newIndex));
});
});
无需插件。
答案 1 :(得分:1)
答案 2 :(得分:0)
答案 3 :(得分:0)
我得到了它的工作
<html>
<head>
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1");
</script>
<script>
$(function() {
// Figure out the new column order.
var isWas = {};
$("tr").eq(0).find("td").each(function(index) {
$(this).attr("was", index);
}).sort(function(left, right) {
// Change this line to change how you sort.
return $(left).text() > $(right).text() ? 1 : -1;
}).each(function(index) {
isWas[index] = $(this).attr("was");
});
// Reorder the columns in every row.
$("tr").each(function() {
var tr = $(this);
var tds = tr.find("td");
var newOrder = [];
for (var is = 0; is < tds.length; is++) {
newOrder.push(tds.eq(isWas[is]));
}
for (var is = 0; is < tds.length; is++) {
tr.append(newOrder[is]);
}
});
});
</script>
</head>
<body>
<table>
<tr><td>Potato</td><td>Tomato</td><td>Apple</td></tr>
<tr><td>20g</td><td>10gr</td><td>40gr</td></tr>
</table>
</body>
</html>