国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三门县| 安多县| 永吉县| 南昌市| 新密市| 新干县| 阳信县| 嘉禾县| 嘉荫县| 宣恩县| 南丰县| 东源县| 南投市| 呼和浩特市| 崇义县| 贡觉县| 安丘市| 达孜县| 虞城县| 吴桥县| 镇远县| 余江县| 特克斯县| 苏州市| 蕲春县| 彭山县| 乌鲁木齐市| 海淀区| 延津县| 从江县| 定安县| 个旧市| 斗六市| 丹阳市| 潞西市| 静宁县| 莒南县| 旬邑县| 肇东市| 泗阳县| 梁平县|