За последние 24 часа нас посетили 22417 программистов и 1056 роботов. Сейчас ищут 628 программистов ...

Как стилизовать выпадающий автопоиск список

Тема в разделе "PHP для новичков", создана пользователем Kvandaik, 2 июл 2019.

Метки:
  1. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    121
    Симпатии:
    1
    При наборе фамилии выпадает список всех фамилий начинающийся на букву Б и сам список проваливается в бок, нет рамок, взял шаблон бутстрапа, а прикручиваю так скажем на лету, не очень получается со стилизациеё но всё же.

    Код (Text):
    1. <script>
    2.     $(document).ready(function(){
    3.       $("#search-box").keyup(function(){
    4.         $.ajax({
    5.         type:"POST",
    6.         url:"read.php",
    7.         data:'keylord='+$(this).val(),
    8.         beforeSend:function(){
    9.           $("#search-box").css("background","#FFF url(LoaderIcon.gif) no-repeat 165px");
    10.         },
    11.         success:function(data){
    12.           $("#suggesstion-box").show();
    13.           $("#suggesstion-box").html(data);
    14.           $("#search-box").css("background","#FFF");
    15.         }
    16.         });
    17.       });
    18.     });
    19.  
    20.     function selectCountry(val){
    21.     $("#search-box").val(val);
    22.     $("#suggesstion-box").hide();
    23.     }
    24.  
    25.  
    26.  
    27.     $(document).ready(function(){
    28.     $("#search-box1").keyup(function(){
    29.         $.ajax({
    30.         type:"POST",
    31.         url:"read1.php",
    32.         data:'keylord0='+$(this).val(),
    33.         beforeSend:function(){
    34.           $("#search-box1").css("background","#FFF url(LoaderIcon.gif) no-repeat 165px");
    35.         },
    36.         success:function(data){
    37.           $("#suggesstion-box").show();
    38.           $("#suggesstion-box").html(data);
    39.           $("#search-box1").css("background","#FFF");
    40.         }
    41.         });
    42.       });
    43.       });
    44.  
    45.  
    46.     function select1(val){
    47.     $("#search-box1").val(val);
    48.     $("#suggesstion-box").hide();
    49.     }
    50.     </script>
    51.     </head>
    52.     <body>
    53.       <formmethod="post"  action="tool1.php">
    54.         <div>
    55.     <?php
    56.  
    57.  
    58.     echo '<table>';
    59.     echo '<tr>';
    60.     echo '<b align="right"><td>Фамилия:</td><td><input  type="text"  id="search-box" name="keylord0" align="right" placeholder='.$rrow1.' value="" /></b><br></td>';
    61.     echo '</tr>';
    62.     echo '<tr>';
    63.     echo '<b align="right"><td>Имя:</td><td><input  type="text" id="search-box1" name="keylord1" align="right" placeholder='.$rrow2.' value="" /></b><br></td>';
    64.     echo '</tr>';
    65.     echo '<tr>';
    66.     echo '<b align="right"><td>Отчество:</td><td><input  type="text" id="search-box2" name="keylord2" align="right" placeholder='.$rrow3.' value="" /></b><br></td>';
    67.     echo '</tr>';
    68.     echo '</table>';
    69.     echo '<button type="submit">Отправить форму</button>';
    70.  
    71.     ?>
    72.     <script>
    73.       let inp = document.getElementById("search-box");
    74.        let inp1 = document.getElementById("search-box1");
    75.      let inp2 = document.getElementById("search-box2");
    76.     let sbm = document.querySelector("form button");
    77.  
    78.     //alert(inp.getAttribute("placeholder"));
    79.  
    80.     sbm.onclick =function(){
    81.       if(inp.value ===undefined|| inp.value ===null|| inp.value ===""){
    82.         inp.value = inp.getAttribute("placeholder");
    83.       }
    84.         if(inp2.value ===undefined|| inp2.value ===null|| inp2.value ===""){
    85.         inp2.value = inp2.getAttribute("placeholder");
    86.       }
    87.        if(inp1.value ===undefined|| inp1.value ===null|| inp1.value ===""){
    88.         inp1.value = inp1.getAttribute("placeholder");
    89.       }
    90.     };
    91.  
    92.      </script>
     
  2. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Та еще порнография. Напишите лучше сами, разберетесь заодно.
    Я бы начал так:
    HTML:
    1. <!doctype html>
    2. <html lang="en">
    3.   <head>
    4.     <meta charset="utf-8">
    5.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    6.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    7.     <title>fio</title>
    8.   </head>
    9.   <body>
    10.     <table class="table">
    11.         <thead>
    12.             <tr>
    13.                 <th><input  class="form-control fio" type="text"  name="f" placeholder="Фамилия"/></th>
    14.                 <th><input  class="form-control fio" type="text"  name="i" placeholder="Имя"/></th>
    15.                 <th><input  class="form-control fio" type="text"  name="o"  placeholder="Отчество"/></th>
    16.             </tr>
    17.         </thead>
    18.         <tbody>
    19.         </tbody>
    20.     </table>
    21.     <script>
    22.         var fio = document.querySelectorAll('input.fio');
    23.        
    24.         [].forEach.call(fio, function(item){
    25.  
    26.             item.addEventListener('input', function(){
    27.  
    28.                 console.log(this.value);
    29.             })
    30.         })
    31.     </script>
    32.     </body>
    33. </html>
    --- Добавлено ---
    Вот тебе массив, сделай так чтобы выводило в таблицу и чему то научишься:
    PHP:
    1. <?php
    2. $array = [
    3.     [
    4.         'f' => 'Иванов',
    5.         'i' => 'Иван',
    6.         'o' => 'Иванович',
    7.     ],
    8.     [
    9.         'f' => 'Петров',
    10.         'i' => 'Петр',
    11.         'o' => 'Иванович',
    12.     ]
    13. ];
    14.  
    15. $array = json_encode($array);
    16.  
    17. ?>
    18.  
    19. <!doctype html>
    20. <html lang="en">
    21.   <head>
    22.     <meta charset="utf-8">
    23.     <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    24.     <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
    25.     <title>fio</title>
    26.   </head>
    27.   <body>
    28.     <table class="table">
    29.         <thead>
    30.             <tr>
    31.                 <th><input  class="form-control fio" type="text"  name="f" placeholder="Фамилия"/></th>
    32.                 <th><input  class="form-control fio" type="text"  name="i" placeholder="Имя"/></th>
    33.                 <th><input  class="form-control fio" type="text"  name="o"  placeholder="Отчество"/></th>
    34.             </tr>
    35.         </thead>
    36.         <tbody>
    37.         </tbody>
    38.     </table>
    39.     <script>
    40.         var fio = document.querySelectorAll('input.fio'),
    41.            find = JSON.parse('<?=$array?>');
    42.         console.log(find);
    43.         [].forEach.call(fio, function(item){
    44.  
    45.             item.addEventListener('input', function(){
    46.  
    47.                 console.log(this.value);
    48.             })
    49.         })
    50.     </script>
    51.     </body>
    52. </html>
     
  3. Kvandaik

    Kvandaik Новичок

    С нами с:
    5 июл 2018
    Сообщения:
    121
    Симпатии:
    1
    Тыж панимаешь что там подключение к базе нажимаеш клавишу Б идёт запрос к базе SQL и вылетает список, мне бы <style> прописать https://blogjquery.ru/wp-content/files/demo/avtozapolnenie-polej-na-js-ili-zhivoj-poisk-po-bd/
     
  4. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    498
    Симпатии:
    57
    лучше передавай json через ajax.
    на основе полученных данных, отрисовывай на js список ul li.
    стилизовать же несложно его