2016-11-21 122 views
1

我正在使用下表中的搜索/篩選器腳本來創建原型。用戶反饋表明,當搜索沒有返回任何匹配時,我需要一條消息。表搜索 - 添加「無結果」消息

我想知道如果有人可以建議一個更改,當用戶搜索在桌子上找不到的東西時會顯示沒有結果消息嗎?

只要找不到字符串,想法就是隻顯示一次。一旦搜索字段被刷新或更改,搜索/過濾器將再次開始。

注:我已經看到了問,但不與我使用的代碼庫同樣的問題,我的腳本的用戶,但不完全瞭解這種語言,所以我不能建議適用於我的代碼。

感謝

<script> 
     $(document).ready(function() 
     { 
      $('#search').keyup(function() 
      { 
       searchTable($(this).val()); 
      }); 
     }); 
     function searchTable(inputVal) 
     { 
      var table = $('#tblData'); 
      table.find('tr').each(function(index, row) 
      { 
       var allCells = $(row).find('td'); 
       if(allCells.length > 0) 
       { 
        var found = false; 
        allCells.each(function(index, td) 


        { 
         var regExp = new RegExp(inputVal, 'i'); 
         if(regExp.test($(td).text())) 
         { 
          found = true; 
          return false; 
         } 
        }); 
        if(found == true)$(row).show();else $(row).hide(); 
       } 
      }); 
     } 
    </script> 

回答

1

你可以有一排顯示「沒有結果」,你可以決定是否顯示與否,當你發現的結果。所以你應該存儲一個變量,例如foundResults,最後,檢查它是否顯示它。

事情是這樣的:

<script> 
    $(document).ready(function() 
    { 
     $('#search').keyup(function() 
     { 
      searchTable($(this).val()); 
     }); 
    }); 
    function searchTable(inputVal) 
    { 
     var table = $('#tblData'); 
     var foundResults = false; 
     table.find('tr').each(function(index, row) 
     { 
      var allCells = $(row).find('td'); 
      if(allCells.length > 0) 
      { 
       var found = false; 
       allCells.each(function(index, td) { 
        var regExp = new RegExp(inputVal, 'i'); 
        if(regExp.test($(td).text())) 
        { 
         found = true; 
         foundResults = true; 
         return false; 
        } 
       }); 
       if(found == true)$(row).show();else $(row).hide(); 
      } 
     }); 
     if (foundResults) { 
      $(".noresults").hide(); 
     } else { 
      $(".noresults").show(); 
     } 
    } 
</script> 
+0

它看起來像有一個腳本錯誤。 searchTable($(本).VAL()); }); }); - (如此說dreamweaver) – Ben

+0

@Ben你知道關於JS的任何事情嗎?或者你只是在嘗試一些東西?我無法幫你處理這麼少的細節。 –

+0

是的,我是一個用戶,但不知道語言。我開始在我的原型設計中使用js。我會更多地研究解決方案,以解決您的問題 - 謝謝。 – Ben