Я хочу передать выбранный выбор из одного текстового поля во второе поле

#php #mysql #json #mysqli

#php #mysql #json #mysqli

Вопрос:

Первое поле автоматически заполняется по мере ввода пользователем и выбора одного из вариантов. Значение поступает из базы данных с 3 атрибутами: id , name и value . Я хотел бы, чтобы value выбранное имя из первого текстового поля автоматически отображалось во втором поле. Как мне перенести value из name после того, как name будет выбрано пользователем?

index.php:

 <script type="text/javascript">
    $(document).ready(function()
    {
        $('#auto').autocomplete(
        {
            source: "search.php?json",
            minLength: 3

        });
    });


</script>

 </head>

   <body>
    <p>Type the name of a band: <input type="text" id="auto" /></p>


   </body>
     </html>

       search php file 

             <?php
         $mysqli = taken off;
       $text = $mysqli->real_escape_string($_GET['term']);

              $query = "SELECT name, salary FROM tag WHERE name LIKE '%$text%' ORDER BY     
                name ASC";
             $result = $mysqli->query($query);
            $json = '[';
               $first = true;
                 while($row = $result->fetch_assoc())
                           {
                       if (!$first) { $json .=  ','; } else { $first = false; }
                   $json .= '{"value":"'.$row['name'].'"}';

                      }
                       $json .= ']';

                echo $json;

                     ?>
  

Ответ №1:

Попробуйте добавить триггер в автозаполнение, выполнив что-то вроде этого

 $( '#auto' ).autocomplete({
    select: function( event, ui ) {
        var myValue = $(this).val();
        //Do what you want with your value
    }
});
  

Ответ №2:

это сработало.

   <script type="text/javascript">
    $(document).ready(function()
    {
        $('#auto').autocomplete(
        {
            source: "search.php?json",
            minLength: 3,
            close: function( event, ui ) { getSalary(document.getElementById('auto').value) },
            change: function( event, ui ) { getSalary(document.getElementById('auto').value) },
            select: function( event, ui ) { getSalary(document.getElementById('auto').value) }

        });
    });

    function getSalary(name_salary){
        $.post( "salary.php", { term: name_salary }, function(data) {                                           
                var test = JSON.parse(data);
                document.getElementById('autosalary').value = test.value;
                $( "#mincome" ).text(test.value); 

                     });    

        }       
     </script>