欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能示例

 更新時(shí)間:2017年08月14日 12:09:45   作者:myD  
這篇文章主要介紹了JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能,涉及javascript字符遍歷與頁面元素屬性相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JavaScript實(shí)現(xiàn)的搜索及高亮顯示功能。分享給大家供大家參考,具體如下:

情景: 用來篩選列表中的數(shù)據(jù), 由于單條數(shù)據(jù)很簡短, 沒有用php+mysql去實(shí)現(xiàn)篩選功能, 只用javascript進(jìn)行篩選, 匹配的高亮, 或者將不匹配的隱藏掉

效果圖:

html:

<div class="contracts-header">名稱: <input type="text" value="" id="search_contract_name"></div>
<div class="contracts-header">代碼: <input type="text" value="" id="search_contract_code" placeholder="不區(qū)分大小寫"></div>
<div class="contracts-header"><button onclick="search()">查找</button></div>
<div id="contracts-list">
  <ul>
  <li><input type="checkbox" name="contract[]" value="code|name" /><span>name(code)</span></li>
  <li><input type="checkbox" name="contract[]" value="code|name" /><span>name(code)</span></li>
  </ul>
</div>

javascript:

function search()
{
  var search_contract_name = $("#search_contract_name").val();
  var search_contract_code = $("#search_contract_code").val();
  if (search_contract_name && search_contract_code) { //兩個(gè)輸入框都有值
    search_contract_code = search_contract_code.toLowerCase(); //不區(qū)分大小寫, 全部轉(zhuǎn)換為小寫, 下同
    $("input[name='contract[]']").each(
        function () {
          var code_name = this.value;
          var search_code = code_name.toLowerCase().indexOf(search_contract_code); 
          var search_name = code_name.toLowerCase().indexOf(search_contract_name);
          if (search_code >=0 && search_name >=0 ) {
            // this.nextSibling.style.backgroundColor = "#FFDEAD"; //高亮匹配到的
            this.parentNode.style.display = 'block';
          } else {
            // this.nextSibling.style.backgroundColor = "";
            this.parentNode.style.display = 'none'; //隱藏不匹配的
          }
        }
    );
  } else if(search_contract_name || search_contract_code) { //只有一個(gè)輸入框有值
    search_contract_name = search_contract_name.length ? search_contract_name : 'xxx'; //默認(rèn)為xxx是因?yàn)椴豢赡艽嬖趚xx
    search_contract_code = search_contract_code.length ? search_contract_code.toLowerCase() : 'xxx';
    $("input[name='contract[]']").each(
      function () {
        var code_name = this.value;
        var search_code = code_name.toLowerCase().indexOf(search_contract_code);
        var search_name = code_name.toLowerCase().indexOf(search_contract_name);
        if (search_code >=0 || search_name >=0 ) {
          // this.nextSibling.style.backgroundColor = "#FFDEAD";
          this.parentNode.style.display = 'block';
        } else {
          // this.nextSibling.style.backgroundColor = "";
          this.parentNode.style.display = 'none';
        }
      }
    );
  }
}

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)

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

相關(guān)文章

  • Net微信網(wǎng)頁開發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過程詳解

    Net微信網(wǎng)頁開發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過程詳解

    這篇文章主要介紹了Net微信網(wǎng)頁開發(fā) 使用微信JS-SDK獲取當(dāng)前地理位置過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • js實(shí)現(xiàn)jquery的offset()方法實(shí)例

    js實(shí)現(xiàn)jquery的offset()方法實(shí)例

    這篇文章主要介紹了js實(shí)現(xiàn)jquery的offset()方法,實(shí)例分析了jquery的offset()方法原理與采用javascript實(shí)現(xiàn)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • js AspxButton的客戶端操作

    js AspxButton的客戶端操作

    processOnServer使您可以指定當(dāng)前Button應(yīng)該處理客戶端的事件或服務(wù)器端事件。
    2009-06-06
  • 微信小程序輸入多行文本的實(shí)戰(zhàn)記錄

    微信小程序輸入多行文本的實(shí)戰(zhàn)記錄

    多行輸入框組件是原生組件,這篇文章主要給大家介紹了關(guān)于微信小程序輸入多行文本的相關(guān)資料,文中通過實(shí)例代碼介紹的介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 詳解如何替換項(xiàng)目中的if-else和switch

    詳解如何替換項(xiàng)目中的if-else和switch

    這篇文章主要為大家介紹了詳解如何替換項(xiàng)目中的if-else和switch,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • js重寫alert事件(避免alert彈框標(biāo)題出現(xiàn)網(wǎng)址)

    js重寫alert事件(避免alert彈框標(biāo)題出現(xiàn)網(wǎng)址)

    這篇文章主要給大家介紹了關(guān)于js重寫alert事件的相關(guān)資料,這樣可以避免alert彈框標(biāo)題出現(xiàn)網(wǎng)址的情況,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • JS+Canvas實(shí)現(xiàn)的俄羅斯方塊游戲完整實(shí)例

    JS+Canvas實(shí)現(xiàn)的俄羅斯方塊游戲完整實(shí)例

    這篇文章主要介紹了JS+Canvas實(shí)現(xiàn)的俄羅斯方塊游戲,結(jié)合完整實(shí)例形式分析了Canvas技術(shù)實(shí)現(xiàn)俄羅斯方塊游戲的步驟、技術(shù)難點(diǎn)與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-12-12
  • JS實(shí)現(xiàn)深拷貝的幾種簡單方法示例

    JS實(shí)現(xiàn)深拷貝的幾種簡單方法示例

    深拷貝和淺拷貝是在JavaScript中復(fù)制對(duì)象或數(shù)組時(shí)經(jīng)常遇到的概念,下面這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)深拷貝的幾種簡單方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • js實(shí)現(xiàn)翻頁后保持checkbox選中狀態(tài)的實(shí)現(xiàn)方法

    js實(shí)現(xiàn)翻頁后保持checkbox選中狀態(tài)的實(shí)現(xiàn)方法

    在項(xiàng)目中有需求如下:上下分頁后,選中的checkbox狀態(tài)保持不變
    2012-11-11
  • 使用JavaScript庫還是自己寫代碼?

    使用JavaScript庫還是自己寫代碼?

    有時(shí)候在寫JavaScript添加到你的網(wǎng)頁中的時(shí)候,你將需要決定是使用已有的可用的JavaScript庫還是自己寫所有代碼。其中每個(gè)各有優(yōu)缺點(diǎn),因此沒有任何一種方式對(duì)每個(gè)人來說都是絕對(duì)正確的選擇。
    2010-01-01

最新評(píng)論