读书人

Jquery报表奇偶行不同颜色点击标题栏

发布时间: 2012-11-25 11:44:31 作者: rapoo

Jquery表格奇偶行不同颜色,点击标题栏实现排序

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head>    <title>Untitled Page</title>    <script type="text/javascript" src="Jquery/jquery-1[1].3.2.min.js"></script>    <script type="text/javascript" src="Jquery/HTMLPage3.js"></script>    <link type="text/css" rel="Stylesheet" href="css/HTMLPage3.css" /></head><body><table border=1>        <thead>            <tr>                <th name="code">.hoverstyle{background-color:Purple;}.odd{background-color:Yellow;}.even{background-color:Blue;}.clickable{background-color:Red;}


var alterRowColor=function($table){    $("table.sortable tbody tr:odd").removeClass().addClass("odd");    $("table.sortable tbody tr:even").removeClass().addClass("even");    return this;};$(document).ready(function(){    //找到类名为sortable的table标签    $("table.sortable").each(function(){        var $_table=$(this);        alterRowColor($_table);        //找到这个table下的th标签,并遍历它,并把它的每一列都赋值给回调函数        $("th",$_table).each(function(column){            //判断找到的th标签的class属性是否是sort-alpha            if($(this).is(".sort-alpha"))            {                //为他添加css样式                $(this).addClass("clickable");                //为他添加单击属性                $(this).click(function(){                    //找到所有所需table下tbody标签下的tr标签组                    var rows=$_table.find("tbody>tr").get();                    //遍历rows数组并把每行的td子节点的当前列的列值转化为大写字母                    $.each(rows,function(index,row){                        row.sortKey=$(row).children("td").eq(column).text().toUpperCase();                    });                    //排序一列的值                    rows.sort(function(a,b){                        if(a.sortKey<b.sortKey)                        {                            return -1;                        }                        if(a.sortKey>b.sortKey)                        {                            return 1;                        }                        return 0;                    });                    //把排序好的每行插入tbody标签内                    $.each(rows,function(index,row){                        $_table.children("tbody").append(row);                        row.sortKey=null;                    });                        alterRowColor($_table);                  });            }        });    });});


为排序后的列进行高亮显示,column是从1开始的,所以这里要进行高亮的列是需要加1,一边用户知道哪里进行了排序
 $($_table).find("td").removeClass().filter(":nth-child("+(column+1)+")").addClass("highlight");

读书人网 >Web前端

热点推荐