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

首頁 > 開發 > JS > 正文

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

2024-05-06 16:53:58
字體:
來源:轉載
供稿:網友

本文實例講述了原生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;}

<!-- 效果 -->

JS,input,表格

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


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 郁南县| 塔城市| 富民县| 宁安市| 长汀县| 澎湖县| 华池县| 岑溪市| 同仁县| 宜兰市| 阜平县| 白城市| 如皋市| 雷州市| 磴口县| 读书| 南皮县| 莱州市| 汝南县| 大厂| 舒兰市| 萨迦县| 象山县| 庆阳市| 衡山县| 延吉市| 咸阳市| 三河市| 白山市| 依兰县| 肥乡县| 合阳县| 富宁县| 绥阳县| 永顺县| 沈阳市| 平果县| 库尔勒市| 新邵县| 岳西县| 灵川县|