function table_Sortid(name) {
var table = $("#" + name);
var table_th = table.find("> thead > tr > th");//使用个>符号,可以只查询到指定的路径下.可防止Table中,嵌套Table时出错.
//table_th.eq(col[z]).append("<span class='none' type='order'>order</span>");//加上样式
var th = table_th.eq(1);
var rule = th.find("input[value=orderloginid]").eq(0).attr('class');//获取应该进行排列的方式
if (rule == 'desc') th.find("input[value=orderloginid]").eq(0).attr('class', 'asc');
else th.find("input[value=orderloginid]").eq(0).attr('class', 'desc');
var arr_tr = table.find("> tbody > tr");
var size = arr_tr.size();
//冒泡排序
for (var i = 0; i < size; i++) {
for (var y = size-1; y > i; y--) {
arr_tr = table.find("> tbody > tr");
var leftvalue = arr_tr.eq(y-1).find(" > td").eq(1).find(" > span").eq(0).find(" > a").eq(0).html();
var rightvalue = arr_tr.eq(y).find(" > td").eq(1).find(" > span").eq(0).find(" > a").eq(0).html();
// alert(i+" "+y+" " +leftvalue +" "+rightvalue+" "+leftvalue.localeCompare(rightvalue));
if (rule == 'desc') {
if (leftvalue.localeCompare(rightvalue)==-1) {
arr_tr.eq(y-1).before(arr_tr.eq(y));
}
}
else {
if (leftvalue.localeCompare(rightvalue)==1) {
arr_tr.eq(y-1).before(arr_tr.eq(y));
}
}
}
}
}
在上面的js 代码中,耦合了jsp 界面(如 arr_tr.eq(y-1).find(" > td").eq(1).find(" > span").eq(0).find(" > a").eq(0).html(); )。如果想应用到自己的jsp 中,请相应改正。
这里面主要用到 jquery 的这个特性:
函数:
$("p").before( $("#foo"));
调用函数前:
<p>I would like to say: </p><b id="foo">Hello</b>
调用函数后:<b id="foo">Hello</b><p>I would like to say: </p>