Живой поиск в больше чем один input
Есть живой поиск на js+php.
$(function(){ //Живой поиск $('.who').bind("change keyup input click", function() { if(this.value.length >= 2){ $.ajax({ type: 'post', url: "search.php", //Путь к обработчику data: {'who':this.value}, response: 'text', success: function(data){ $(".search_result").html(data).fadeIn(); //Выводим полученые данные в списке } }) } }) $(".search_result").hover(function(){ $(".who").blur(); //Убираем фокус с input }) //При выборе результата поиска, прячем список и заносим выбранный результат в input $(".search_result").on("click", "li", function(){ s_user = $(this).text(); $(".who").val(s_user).attr('enabled', 'enabled'); //деактивируем input, если нужно $(".search_result").fadeOut(); }) }) Если input один, то заполнение нормальное, ищет и вставляет данные из справочника, а если два или больше, то в полях вывод синхронный, что и понятно while ($arr = sql_fetch_assoc($q)) { $did = $arr['DocumentID']; $who = trim($arr["DocumentByWho"]); $innerHTML .= '<td><input type="text" id="who" name="who" placeholder="' . $who . '" value="' . $who . '" class="who" autocomplete="off"><ul class="search_result"></ul></td>'; $innerHTML .= '<td><button type="submit" name="Save" value="' . $did . '">Сохраним?</form></td></tr>'; } Выбирает из справочника скриптом if(!empty($_POST["who"])){ //Принимаем данные $referal = trim(strip_tags(stripcslashes(htmlspecialchars($_POST["who"])))); $referal = addslashes($referal); $db_referal = sql_query($connbo,"SELECT * from bo.R_NAME_DMS WHERE name LIKE '%$referal%'") or die('Ошибка №'.__LINE__.'<br>Обратитесь к администратору сайта пожалуйста, сообщив номер ошибки.'); while ($row = sql_fetch_array($db_referal)) { $name = str_replace("\n", "", $row["name"]); echo "\n<li1>".mb_strtoupper($name)."</li1>"; } } А можно-ли как-то сделать так, чтобы заполнялся input только одной выбранной строки, а не двух или трёх? Заранее спасибо! |
Часовой пояс GMT +3, время: 01:51. |