最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生JS 實(shí)現(xiàn)的input輸入時(shí)表格過(guò)濾操作示例

 更新時(shí)間:2019年08月03日 10:05:59   作者:sennyla  
這篇文章主要介紹了原生JS 實(shí)現(xiàn)的input輸入時(shí)表格過(guò)濾操作,結(jié)合實(shí)例形式分析了JavaScript基于頁(yè)面元素遍歷、運(yùn)算、判斷實(shí)現(xiàn)的表格過(guò)濾相關(guān)操作技巧,需要的朋友可以參考下

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

需求:對(duì)input框進(jìn)行鍵盤輸入后根據(jù)輸入的內(nèi)容去匹配表格中指定的數(shù)據(jù)項(xiàng),若存在相匹配的則只顯示匹配的數(shù)據(jù)項(xiàng);

細(xì)節(jié)處理:監(jiān)聽鍵盤輸入后給一定的緩沖時(shí)間避免發(fā)生頻繁的請(qǐng)求;

解決思路:給個(gè)定時(shí)器,當(dāng)鍵盤開始輸入時(shí)啟動(dòng)定時(shí)器,倘若在指定的時(shí)間內(nèi)都不在進(jìn)行輸入操作,則執(zhí)行匹配操作,否則取消操作,同時(shí)限定輸入的字符串大于等于2位數(shù)字時(shí)再進(jìn)行匹配操作,使過(guò)濾效果更精準(zhǔn)一些。

<!--JS -->

var timer = null; //定義定時(shí)器
function filterTable(el){
  clearTimeout(timer);
  var oTable = document.getElementById("oTable");
  //獲取需要匹配的元素集合
  var firstTdArr = oTable.getElementsByClassName("firstTd");
  if(el.value.length>1){ //限定匹配的字符至少為兩位數(shù)
    var filterVal = el.value.toUpperCase();
    timer = setTimeout(function(){
      for(var i=0;i<firstTdArr.length;i++){
        //元素集合中存在匹配值時(shí),顯示匹配的記錄,否則隱藏
        if (firstTdArr[i].innerHTML.toUpperCase().indexOf(filterVal) > -1) {
          firstTdArr[i].parentNode.style.display = "";
        }else{
          firstTdArr[i].parentNode.style.display = "none";
        }
      }
    },500);
  }else{
    //不滿足匹配所需字符數(shù)量時(shí),恢復(fù)匹配之前的模樣
    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>匹配數(shù)據(jù)</th>
    <th>數(shù)據(jù)項(xiàng)一</th>
    <th>數(shù)據(jù)項(xiàng)二</th>
    <th>數(shù)據(jù)項(xiàng)三</th>
  </tr>
  <tr>
    <td class="firstTd">JS前端數(shù)據(jù)多條件篩選</td>
    <td>11過(guò)濾table數(shù)據(jù)</td>
    <td>111過(guò)濾table數(shù)據(jù)</td>
    <td>1111過(guò)濾table數(shù)據(jù)</td>
  </tr>
  <tr>
    <td class="firstTd">程序員不會(huì)英語(yǔ)怎么行?</td>
    <td>22過(guò)濾table數(shù)據(jù)</td>
    <td>222過(guò)濾table數(shù)據(jù)</td>
    <td>2222過(guò)濾table數(shù)據(jù)</td>
  </tr>
  <tr>
    <td class="firstTd">前端代碼編譯后添加過(guò)濾</td>
    <td>33過(guò)濾table數(shù)據(jù)</td>
    <td>333過(guò)濾table數(shù)據(jù)</td>
    <td>3333過(guò)濾table數(shù)據(jù)</td>
  </tr>
  <tr>
    <td class="firstTd">大數(shù)據(jù)學(xué)習(xí)</td>
    <td>44過(guò)濾table數(shù)據(jù)</td>
    <td>444過(guò)濾table數(shù)據(jù)</td>
    <td>4444過(guò)濾table數(shù)據(jù)</td>
  </tr>
  <tr>
    <td class="firstTd">JS過(guò)濾HTML標(biāo)簽</td>
    <td>55過(guò)濾table數(shù)據(jù)</td>
    <td>555過(guò)濾table數(shù)據(jù)</td>
    <td>5555過(guò)濾table數(shù)據(jù)</td>
  </tr>
  <tr>
    <td class="firstTd">大數(shù)據(jù)你了解多少</td>
    <td>66過(guò)濾table數(shù)據(jù)</td>
    <td>666過(guò)濾table數(shù)據(jù)</td>
    <td>6666過(guò)濾table數(shù)據(jù)</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前端代碼調(diào)試運(yùn)行工具http://tools.jb51.net/code/WebCodeRun測(cè)試上述代碼運(yùn)行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript表格(table)操作技巧大全》、《JavaScript操作DOM技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • js文件包含的幾種方式介紹

    js文件包含的幾種方式介紹

    這篇文章主要介紹了js文件包含的幾種方式,在某些情況下還是比較實(shí)用的,下面以示例代碼的方式來(lái)呈現(xiàn)
    2014-09-09
  • js 操作符實(shí)例代碼

    js 操作符實(shí)例代碼

    一個(gè)單例對(duì)象,承載大多數(shù)常用的函數(shù)列表
    2009-10-10
  • JavaScript判斷文件類型三種方法詳解

    JavaScript判斷文件類型三種方法詳解

    計(jì)算機(jī)系統(tǒng)并不是通過(guò)文件的后綴名來(lái)判斷文件類型,而是通過(guò)文件簽名來(lái)判斷,下面這篇文章主要給大家介紹了關(guān)于JavaScript判斷文件類型三種方法的相關(guān)資料,需要的朋友可以參考下
    2024-04-04
  • bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果

    bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果

    這篇文章主要給大家介紹了關(guān)于利用bootstrap+jQuery 實(shí)現(xiàn)下拉菜單中復(fù)選框全選和全不選效果的相關(guān)資料,文中給出了完整的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友下面來(lái)一起看看吧。
    2017-06-06
  • 微信小程序?qū)崿F(xiàn)Session功能及無(wú)法獲取session問(wèn)題的解決方法

    微信小程序?qū)崿F(xiàn)Session功能及無(wú)法獲取session問(wèn)題的解決方法

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)Session功能及無(wú)法獲取session問(wèn)題的解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • 淺談js中的閉包

    淺談js中的閉包

    閉包是一個(gè)比較抽象的概念,尤其是對(duì)js新手來(lái)說(shuō).書上的解釋實(shí)在是比較晦澀,對(duì)我來(lái)說(shuō)也是一樣.閉包是很多語(yǔ)言都具備的特性,在js中,閉包主要涉及到j(luò)s的幾個(gè)其他的特性:作用域鏈,垃圾(內(nèi)存)回收機(jī)制,函數(shù)嵌套,等等.
    2015-03-03
  • layer彈出層父子頁(yè)面事件相互調(diào)用方法

    layer彈出層父子頁(yè)面事件相互調(diào)用方法

    今天小編就為大家分享一篇layer彈出層父子頁(yè)面事件相互調(diào)用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 微信小程序?qū)崟r(shí)聊天WebSocket

    微信小程序?qū)崟r(shí)聊天WebSocket

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崟r(shí)聊天WebSocket的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • JS中的Map對(duì)象用法及說(shuō)明

    JS中的Map對(duì)象用法及說(shuō)明

    這篇文章主要介紹了JS中的Map對(duì)象用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • JS密碼生成與強(qiáng)度檢測(cè)完整實(shí)例(附demo源碼下載)

    JS密碼生成與強(qiáng)度檢測(cè)完整實(shí)例(附demo源碼下載)

    這篇文章主要介紹了JS密碼生成與強(qiáng)度檢測(cè)完整實(shí)例,涉及JavaScript密碼的生成,破解時(shí)間計(jì)算,密碼安全監(jiān)測(cè)及大小寫鎖定判斷等功能的實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-04-04

最新評(píng)論

怀来县| 江川县| 南丹县| 蒙自县| 尚义县| 买车| 依安县| 嘉善县| 保山市| 垣曲县| 尼玛县| 米易县| 五原县| 紫云| 石阡县| 延安市| 伊宁县| 新营市| 突泉县| 洪泽县| 濮阳县| 延安市| 郴州市| 南汇区| 磴口县| 华池县| 重庆市| 凭祥市| 吉首市| 阿荣旗| 泗洪县| 泰来县| 历史| 多伦县| 桦甸市| 聊城市| 板桥市| 卢氏县| 山西省| 安福县| 杨浦区|