2015-05-27 2 views
2

Я пытаюсь отфильтровать таблицу на своем веб-сайте с помощью VBScript. Пользователь будет использовать поисковый запрос для сужения результатов. Если в строке есть столбец, содержащий поисковый запрос, строка не скрыта. Прошло некоторое время с тех пор, как я использовал его, и я не могу заставить его работать. Под «не работает» я имею в виду, что все строки в таблице все еще отображаются.Фильтровать HTML-таблицу

<html> 

<script language="VBScript"> 
Sub filterResults() 
    Dim searchBox 
    Set searchBox = Document.forms("searchBoxID") 

    For Each subInstance In document.GetElementsByTagName("tr") 
    If Not subInstance.OuterHTML.Contains(searchBox.filterTXT.Value) Then 
     subInstance.style = "display:none" 
    End If 
    Next 
End Sub 
</script> 

<form id="searchBoxID" 
    onsubmit="filterResults(); return false;" language="jscript"> 

Filter results: 
<input name="filterTXT" type="text" size="2"> 
<input name="Submit" type="Submit" value="Submit"> 

<table border=1> 
    <th>Row One</th><th>Row Two</th><th>Row Three</th> 
    <tr> 
    <td>Stuff</td><td>Things</td><td>Items</td> 
    </tr> 
    <tr> 
    <td>Possessions</td><td>Objects</td><td>Things</td> 
    </tr> 
</table> 

</html> 

ответ

3

В VBScript нет метода Contains. Используйте функцию InStr:

For Each subInstance In document.GetElementsByTagName("tr") 
    If InStr(subInstance.OuterHTML, searchBox.filterTXT.Value) = 0 Then 
     subInstance.style = "display:none" 
    End If 
Next 
+0

А, это определенно поможет. Согласно FireFox, он говорит, что моя подпрограмма не определена ... –

+3

Firefox не поддерживает VBScript. Internet Explorer является единственным браузером, поддерживающим VBScript, а в IE11 - только в представлении совместимости (или как он теперь называется). –

+0

Ну, думаю, я не буду использовать VBScript для своих целей. Благодарю. –

Смежные вопросы