с jquery знаком поверхностно. просто подскажите чем пользоваться. есть таблица и для нее необходимо сделать фильтр --текстовое поле, при вводе символов в которое, строки таблицы не содерфащие этих символов скрываются Код (Text): <form> <input type="text" name="filter" onchange="Filter(this.value)" onKeyUp="Filter(this.value)"> </form> <table id="langval"> <tr class="filter" > <td >{$var1}</td> <td ><a href={$url1}>{$var2}</a></td> <td >{$var3}</td> </tr> ....... </table> {literal} <script> function Filter(item) { if (item > '') { $(".filter").hide(); $(".filter:contains('" + item + "')").show(); } else $(".filter").show(); } </script> {/literal} Что мне здесь не нравится: с помощью метода :contains() осуществляется регистрозависимый поиск, может как-нибуди можно достучаться до каждого <td> и привести его содержание к одному регистру, а потом проверять? как организовать подсветку?
в общем, с подсветкой справился, а насчет поиска русских букв вопрос открыт: Код (Text): <script> function Filter(item) { if (item > '') { $(".filter").hide(); $(".filter:contains('" + item + "')").show(); highlight(document.getElementById("langval"),item); } else { $(".filter").show(); } } function highlight(region,item) { if (item.hasChildNodes) { var hi_cn; for (hi_cn=0;hi_cn<item.childNodes.length;hi_cn++) { highlight(item.childNodes[hi_cn],word); } } if (item.nodeType == 3) { tempitemVal = item.nodeValue.toLowerCase(); tempWordVal = word.toLowerCase(); if (tempitemVal.indexOf(tempWordVal) != -1) { pn = item.parentNode; if (pn.className != "searchword") { nv = item.nodeValue; ni = tempitemVal.indexOf(tempWordVal); before = document.createTextNode(nv.substr(0,ni)); docWordVal = nv.substr(ni,word.length); after = document.createTextNode(nv.substr(ni+word.length)); hiwordtext = document.createTextNode(docWordVal); hiword = document.createElement("span"); hiword.className = "searchword"; hiword.appendChild(hiwordtext); pn.insertBefore(before,item); pn.insertBefore(hiword,item); pn.insertBefore(after,item); pn.removeChild(item); } } } } </script> <style type="text/css">.searchword { background-color: yellow; }</style>