Код (Text): <input type="text" name="search" id="search" /> <div id="searchResult"></div> Код (Text): $('#search').keyup(function(){ var Value = $('#search').val(); $.get("/index_js.php?js=search", { search: Value }, function(data) { $("#searchResult").html(data); }); }); Для проверки в php задал Код (Text): $search = $_GET['search']; echo "<strong>" . $search . "</strong>"; Код (Text): alert(Value); Отлавливает данные но дальше тишина Но ничего не возвращает
1) Поставить Firebug 2) Смотри в Firebug, активность, что там вообще уходит / приходит 3) Код (Text): $('#search').keyup(function(){ var Value = $('#search').val(); $.get("/index_js.php?js=search", { search: Value }, function(data) { alert(data); $("#searchResult").html(data); }); });
Всем привет! Похожая задача: имеется рабочий код мгновенного поиска jquery+php+mysql, но только по одному параметру(по одному полю в mysql-таблице), нужно организовать возможность поиска по нескольким атрибутам. Проще говоря, отмечая чекбоксы в форме пользователь производит поиск по заданным параметрам(n-ному числу полей в mysql-таблице). Подскажите, как это лучше сделать?
smus имеешь в виду фасетный поиск? вот годное объяснение как можно делать фасет стандартными средствами: http://stackoverflow.com/a/7257906/272885
Спасибо за линки! Почитал, ознакомился, но не совсем всё понял. Народ, вы сильно не злитесь: я и в JS и JQ практически новичок, поэтому можно я лучше выложу код? Это рабочий код c одним атрибутом для поиска: form.php - файл с формой и JQ, а search.php получает запрос и генерит SQL. Чекбоксы пока просто повставлял: они ни на что не влияют и пока дал им имя массива p. Как я уже отмечал поиск должен быть по n-ому количеству атрибутов, где n >= 1. Меня больше всего интересует, как будут передаваться значения чекбоксов и как потом в зависимости от этого менять SQL-запрос. Заранее благодарен за помощь! Код (Text): form.php <script> function showHint(str) { if (str != "") { $.post("search.php", {ls:str}, function(data) { $("#results").empty().append(data); }); } else { $("#results").empty(); } } </script> <form onsubmit="showHint(document.getElementById('txt').value);return false" method="post" action="test.php"> <table align="center"> <tr> <td align="center"> <input type="search" id="txt" name="ls" onkeyup="showHint(this.value)" onkeydown="showHint(this.value)" autofocus autocomplete="off"> </td> </tr> <tr> <td> <input type="checkbox" name="p[]" checked>p1 <input type="checkbox" name="p[]">p2 <input type="checkbox" name="p[]">p3 </td> </tr> </table> </form> <span id="txtHint"></span> <div id="results"></div> search.php include("dbconfig.php"); $ls=$_POST['ls']; $sql=mysql_query("SELECT * FROM companies WHERE name LIKE '" .$ls. "%' ") or die(mysql_error()); $i=0; $rowsnumber=mysql_num_rows($sql); while($row=mysql_fetch_array($sql)) { echo $row['name']; }
Допустим, даже если у каждого чекбокса будет уникальное имя - ведь за незнанием сколько атрибутов будет у поиска, имхо, мне всё равно придётся значения запихивать в массив, а его потом считать и читать в файле обработки. Вроде так, если не ошибаюсь.