首頁 > web前端 > js教程 > 主體

table表格內對某列內容進行搜尋篩選步驟詳解

php中世界最好的语言
發布: 2018-05-22 10:30:42
原創
3716 人瀏覽過

這次帶給大家table表格內對某列內容進行搜尋篩選步驟詳解,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> 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=&#39;&#39;;//显示行操作,
      }else{
        storeId.rows[i].style.display=&#39;none&#39;;//隐藏行操作
      }
    }
  },200);//200为延时时间
}
</script>
<body>
<p > <input name="key" type="text" id="key" onkeydown="onSearch(this)" value="" /></p>
<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>
登入後複製

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

NodeJs手機存取本地伺服器案例分析

vue中$emit 與$on父子兄弟元件操作詳解

以上是table表格內對某列內容進行搜尋篩選步驟詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!