国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

原生JS 實現的input輸入時表格過濾操作示例

2019-11-19 11:04:49
字體:
來源:轉載
供稿:網友

本文實例講述了原生JS 實現的input輸入時表格過濾操作。分享給大家供大家參考,具體如下:

需求:對input框進行鍵盤輸入后根據輸入的內容去匹配表格中指定的數據項,若存在相匹配的則只顯示匹配的數據項;

細節處理:監聽鍵盤輸入后給一定的緩沖時間避免發生頻繁的請求;

解決思路:給個定時器,當鍵盤開始輸入時啟動定時器,倘若在指定的時間內都不在進行輸入操作,則執行匹配操作,否則取消操作,同時限定輸入的字符串大于等于2位數字時再進行匹配操作,使過濾效果更精準一些。

<!--JS -->

var timer = null; //定義定時器function filterTable(el){  clearTimeout(timer);  var oTable = document.getElementById("oTable");  //獲取需要匹配的元素集合  var firstTdArr = oTable.getElementsByClassName("firstTd");  if(el.value.length>1){ //限定匹配的字符至少為兩位數    var filterVal = el.value.toUpperCase();    timer = setTimeout(function(){      for(var i=0;i<firstTdArr.length;i++){        //元素集合中存在匹配值時,顯示匹配的記錄,否則隱藏        if (firstTdArr[i].innerHTML.toUpperCase().indexOf(filterVal) > -1) {          firstTdArr[i].parentNode.style.display = "";        }else{          firstTdArr[i].parentNode.style.display = "none";        }      }    },500);  }else{    //不滿足匹配所需字符數量時,恢復匹配之前的模樣    for(var i=0;i<firstTdArr.length;i++){      firstTdArr[i].parentNode.style.display = "";    }  }}

<!-- HTML -->

<p><input type="text" οnkeyup="filterTable(this)"/></p><table id="oTable">  <tr>    <th>匹配數據</th>    <th>數據項一</th>    <th>數據項二</th>    <th>數據項三</th>  </tr>  <tr>    <td class="firstTd">JS前端數據多條件篩選</td>    <td>11過濾table數據</td>    <td>111過濾table數據</td>    <td>1111過濾table數據</td>  </tr>  <tr>    <td class="firstTd">程序員不會英語怎么行?</td>    <td>22過濾table數據</td>    <td>222過濾table數據</td>    <td>2222過濾table數據</td>  </tr>  <tr>    <td class="firstTd">前端代碼編譯后添加過濾</td>    <td>33過濾table數據</td>    <td>333過濾table數據</td>    <td>3333過濾table數據</td>  </tr>  <tr>    <td class="firstTd">大數據學習</td>    <td>44過濾table數據</td>    <td>444過濾table數據</td>    <td>4444過濾table數據</td>  </tr>  <tr>    <td class="firstTd">JS過濾HTML標簽</td>    <td>55過濾table數據</td>    <td>555過濾table數據</td>    <td>5555過濾table數據</td>  </tr>  <tr>    <td class="firstTd">大數據你了解多少</td>    <td>66過濾table數據</td>    <td>666過濾table數據</td>    <td>6666過濾table數據</td>  </tr></table>

<!-- CSS3 -->

table{border: 1px solid #ccc;width: 900px;}table tr:nth-child(odd){background:#F4F4F4;}table tr:nth-child(even){background:#fff;}

<!-- 效果 -->

感興趣的朋友可以使用在線HTML/CSS/JavaScript前端代碼調試運行工具http://tools.VeVB.COm/code/WebCodeRun測試上述代碼運行效果。

更多關于JavaScript相關內容可查看本站專題:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧總結》、《JavaScript數組操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 甘孜县| 治多县| 阿瓦提县| 莱州市| 黔江区| 绵竹市| 福州市| 恩施市| 新乡市| 茂名市| 新宾| 新疆| 安阳县| 富宁县| 英德市| 辽中县| 丘北县| 左权县| 体育| 荔浦县| 荔波县| 平顺县| 岐山县| 蚌埠市| 电白县| 百色市| 大悟县| 东台市| 德兴市| 枣阳市| 安陆市| 凌源市| 通海县| 金湖县| 哈密市| 团风县| 岑巩县| 康保县| 乌拉特中旗| 滨州市| 衡阳县|