JS實(shí)現(xiàn)table表格內(nèi)針對(duì)某列內(nèi)容進(jìn)行即時(shí)搜索篩選功能-創(chuàng)新互聯(lián)

本文實(shí)例講述了JS實(shí)現(xiàn)table表格內(nèi)針對(duì)某列內(nèi)容進(jìn)行即時(shí)搜索篩選功能。分享給大家供大家參考,具體如下:

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、網(wǎng)絡(luò)空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、朝陽(yáng)網(wǎng)站維護(hù)、網(wǎng)站推廣。

往往有些時(shí)候,我們把數(shù)據(jù)從數(shù)據(jù)庫(kù)讀取出來,顯示到table里面,而此時(shí)來了個(gè)新需求,要在一個(gè)搜索框內(nèi)輸入關(guān)鍵字,表格的內(nèi)容進(jìn)行即時(shí)的篩選。

而即時(shí)觸發(fā)進(jìn)行數(shù)據(jù)庫(kù)的查詢,再回調(diào)顯示,就顯得慢,拖累服務(wù)器,降低用戶體驗(yàn)度,這時(shí),要是有個(gè)純js操作,進(jìn)行表格某列的即時(shí)篩選,這樣既能提高搜索速度,也不用占用服務(wù)器資源,用戶自然也滿意。

實(shí)現(xiàn)如下,先看效果圖,

開始狀態(tài):

JS實(shí)現(xiàn)table表格內(nèi)針對(duì)某列內(nèi)容進(jìn)行即時(shí)搜索篩選功能

在輸入框內(nèi)輸入‘e',表格即時(shí)進(jìn)行篩選,篩選表格內(nèi)包含有‘e'的行,沒有‘e'的進(jìn)行隱藏,使用在線HTML/JS/css運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun,測(cè)試運(yùn)行效果如下圖所示:

JS實(shí)現(xiàn)table表格內(nèi)針對(duì)某列內(nèi)容進(jìn)行即時(shí)搜索篩選功能

實(shí)現(xiàn)代碼:

<!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函數(shù)開始
  setTimeout(function(){//因?yàn)槭羌磿r(shí)查詢,需要用setTimeout進(jìn)行延遲,讓值寫入到input內(nèi),再讀取
    var storeId = document.getElementById('store');//獲取table的id標(biāo)識(shí)
    var rowsLength = storeId.rows.length;//表格總共有多少行
    var key = obj.value;//獲取輸入框的值
    var searchCol = 0;//要搜索的哪一列,這里是第一列,從0開始數(shù)起
    for(var i=1;i<rowsLength;i++){//按表的行數(shù)進(jìn)行循環(huán),本例第一行是標(biāo)題,所以i=1,從第二行開始篩選(從0數(shù)起)
      var searchText = storeId.rows[i].cells[searchCol].innerHTML;//取得table行,列的值
      if(searchText.match(key)){//用match函數(shù)進(jìn)行篩選,如果input的值,即變量 key的值為空,返回的是ture,
        storeId.rows[i].style.display='';//顯示行操作,
      }else{
        storeId.rows[i].style.display='none';//隱藏行操作
      }
    }
  },200);//200為延時(shí)時(shí)間
}
</script>
<body>
<div > <input name="key" type="text" id="key" onkeydown="onSearch(this)" value="" /></div>
<table width="200" border="1" id="store"><!-- id與函數(shù)的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>

當(dāng)前標(biāo)題:JS實(shí)現(xiàn)table表格內(nèi)針對(duì)某列內(nèi)容進(jìn)行即時(shí)搜索篩選功能-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://muchs.cn/article4/csggie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、手機(jī)網(wǎng)站建設(shè)、營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站策劃、移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管