การทำไฮไลท์แถวในตาราง ก็เพื่อให้ยูสเซ่อร์มองได้สะดวก เมื่อข้อมูลมันเยอะๆ ผลลัพธ์จะเป็นดังภาพครับ
มาดูกันครับว่าทำอย่างไร
โครงสร้าง HTML :
<table id="table"> <tr> <th>ลำดับ</th> <th>สาขา</th> </tr> <tr class='even' > <td>1</td> <td>สุรวงศ์</td> </tr> <tr class='odd' > <td>2</td> <td>เพชรบุรีตัดใหม่</td> </tr> <tr class='even' > <td>3</td> <td>รามอินทราทีมA</td> </tr> </table> |
ตกแต่งตารางด้วย CSS:
/* ใช้เพื่อแต่งตารางให้ดูดี */ #table .odd td { background:#eee; border-top:1px solid #DDDDDD; padding:3px; } #table .even td { border-top:1px solid #DDDDDD; padding:3px; } /* เตรียมไว้ทำไฮไลท์ ด้วย jQuery */ .highlight td { background:#FFFFCC !important; } |
ถ้าไม่เซตลงไปถึง td ie6 มันจะไม่ยอมแสดงผล
หลังจากนั้น include jQuery เข้ามา
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> |
เขียนโค้ดให้มันไฮไลท์ตอนเอาเมาส์ชี้เหนือแถว และกลับไปเหมือนเดิม เมื่อเมาส์ผ่านไป
$(function(){ //+ highlight row $('#table tr').mouseover(function(){ $(this).toggleClass('highlight'); }); $('#table tr').mouseout(function(){ $(this).toggleClass('highlight'); }); }) |
โค้ดทั้งหมดจะเป็นดังนี้
<!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> <title>Highlight row</title> <style> /* ใช้เพื่อแต่งตารางให้ดูดี */ #table .odd td { background:#eee; border-top:1px solid #DDDDDD; padding:3px; } #table .even td { border-top:1px solid #DDDDDD; padding:3px; } /* เตรียมไว้ทำไฮไลท์ ด้วย jQuery */ .highlight td { background:#FFFFCC !important; } </style> <script type="text/javascript"> $(function(){ //+ highlight row $('#table tr').mouseover(function(){ $(this).toggleClass('highlight'); }); $('#table tr').mouseout(function(){ $(this).toggleClass('highlight'); }); }) </script> </head> <body> <table id="table"> <tr> <th>ลำดับ</th> <th>สาขา</th> </tr> <tr class='even' > <td>1</td> <td>สุรวงศ์</td> </tr> <tr class='odd' > <td>2</td> <td>เพชรบุรีตัดใหม่</td> </tr> <tr class='even' > <td>3</td> <td>รามอินทราทีมA</td> </tr> </table> </body> </html> |