您好,登錄后才能下訂單哦!
本文實例講述了JS實現table表格內針對某列內容進行即時搜索篩選功能。分享給大家供大家參考,具體如下:
往往有些時候,我們把數據從數據庫讀取出來,顯示到table里面,而此時來了個新需求,要在一個搜索框內輸入關鍵字,表格的內容進行即時的篩選。
而即時觸發進行數據庫的查詢,再回調顯示,就顯得慢,拖累服務器,降低用戶體驗度,這時,要是有個純js操作,進行表格某列的即時篩選,這樣既能提高搜索速度,也不用占用服務器資源,用戶自然也滿意。
實現如下,先看效果圖,
開始狀態:
在輸入框內輸入‘e',表格即時進行篩選,篩選表格內包含有‘e'的行,沒有‘e'的進行隱藏,使用在線HTML/JS/css運行工具http://tools.jb51.net/code/HtmlJsRun,測試運行效果如下圖所示:
實現代碼:
<!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" /> <title>www.jb51.net JS搜索篩選table列</title> </head> <script type="text/javascript"> function onSearch(obj){//js函數開始 setTimeout(function(){//因為是即時查詢,需要用setTimeout進行延遲,讓值寫入到input內,再讀取 var storeId = document.getElementById('store');//獲取table的id標識 var rowsLength = storeId.rows.length;//表格總共有多少行 var key = obj.value;//獲取輸入框的值 var searchCol = 0;//要搜索的哪一列,這里是第一列,從0開始數起 for(var i=1;i<rowsLength;i++){//按表的行數進行循環,本例第一行是標題,所以i=1,從第二行開始篩選(從0數起) var searchText = storeId.rows[i].cells[searchCol].innerHTML;//取得table行,列的值 if(searchText.match(key)){//用match函數進行篩選,如果input的值,即變量 key的值為空,返回的是ture, storeId.rows[i].style.display='';//顯示行操作, }else{ storeId.rows[i].style.display='none';//隱藏行操作 } } },200);//200為延時時間 } </script> <body> <div > <input name="key" type="text" id="key" onkeydown="onSearch(this)" value="" /></div> <table width="200" border="1" id="store"><!-- id與函數的getId一致 --> <tr bgcolor="#CCCCCC"> <td>name</td> <td> </td> <td> </td> </tr> <td>good</td> <td> </td> <td> </td> </tr> <tr> <td>better</td> <td> </td> <td> </td> </tr> <tr> <td>best</td> <td> </td> <td> </td> </tr> <tr> <td>bad</td> <td> </td> <td> </td> </tr> <tr> <td>worse</td> <td> </td> <td> </td> </tr> <tr> <td>worst</td> <td> </td> <td> </td> </tr> </table> </body> </html>
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。