Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.07.2022, 10:26
Новичок на форуме
Отправить личное сообщение для l_2001 Посмотреть профиль Найти все сообщения от l_2001
 
Регистрация: 14.07.2022
Сообщений: 1

Живой поиск в больше чем один 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 только одной выбранной строки, а не двух или трёх? Заранее спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция при нажатии срабатывает один раз и больше не работает notOldFagFromRussia Общие вопросы Javascript 3 08.11.2018 19:17
AJAX живой поиск и запись в массив с обработкой n.osennij AJAX и COMET 1 18.08.2015 18:03
как набить репутацию больше чем количество сообщений? EmperioAf Оффтопик 7 04.08.2015 14:54
[Видеокурс] JavaScript. Больше, чем просто сайт kgl32 Учебные материалы 23 07.11.2011 02:14
Размер img не больше чем у div PAMAC (X)HTML/CSS 3 21.12.2009 22:34