как сделать div кликабельным вместо того, чтобы поместить его в поле поиска в html - PullRequest
0 голосов
/ 25 мая 2019

Я создал окно поиска в html, используя ajax и javascript. результаты загружаются из базы данных, когда слово набирается, слово отображается ниже, когда мы нажимаем на отображаемое слово, слово вставляется в окно поиска, и ничего не происходит.

HTML

<!DOCTYPE html>

<html>



<head>

   <title></title>

   <!-- Including jQuery is required. -->

   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

   <!-- Including our scripting file. -->

   <script type="text/javascript" src="script.js"></script>

   <!-- Including CSS file. -->

   <link rel="stylesheet" type="text/css" href="style.css">

</head>



<body>

<!-- Search box. -->

   <input type="text" id="search" placeholder="Search" />

   <br>



   <br />

   <!-- Suggestions will be displayed in below div. -->

   <div id="display"></div>



</body>



</html>

1010 * Аякс *

<?php

//Including Database configuration file.

include "db.php";

//Getting value of "search" variable from "script.js".

if (isset($_POST['search'])) {

//Search box value assigning to $Name variable.

   $Name = $_POST['search'];

//Search query.

   $Query = "SELECT Name FROM search WHERE Name LIKE '%$Name%' LIMIT 5";

//Query execution

   $ExecQuery = MySQLi_query($con, $Query);

//Creating unordered list to display result.

   echo '

<ul>

   ';

   //Fetching result from database.

   while ($Result = MySQLi_fetch_array($ExecQuery)) {

       ?>

   <!-- Creating unordered list items.

        Calling javascript function named as "fill" found in "script.js" file.

        By passing fetched result as parameter. -->

   <li onclick='fill("<?php echo $Result['Name']; ?>")'>

   <a>

   <!-- Assigning searched result in "Search box" in "search.php" file. -->

       <?php echo $Result['Name']; ?>

   </li></a>

   <!-- Below php code is just for closing parenthesis. Don't be confused. -->

   <?php

}}


?>

</ul>

1017 * Javascript *

//Getting value from "ajax.php".

function fill(Value) {

   //Assigning value to "search" div in "search.php" file.

   $('#search').val(Value);

   //Hiding "display" div in "search.php" file.

   $('#display').hide();

}

$(document).ready(function() {

   //On pressing a key on "Search box" in "search.php" file. This function will be called.

   $("#search").keyup(function() {

       //Assigning search box value to javascript variable named as "name".

       var name = $('#search').val();

       //Validating, if "name" is empty.

       if (name == "") {

           //Assigning empty value to "display" div in "search.php" file.

           $("#display").html("");

       }

       //If name is not empty.

       else {

           //AJAX is called.

           $.ajax({

               //AJAX type is "Post".

               type: "POST",

               //Data will be sent to "ajax.php".

               url: "ajax.php",

               //Data, that will be sent to "ajax.php".

               data: {

                   //Assigning value of "name" into "search" variable.

                   search: name

               },

               //If result found, this funtion will be called.

               success: function(html) {

                   //Assigning result to "display" div in "search.php" file.

                   $("#display").html(html).show();

               }

           });

       }

   });

});

окно поиска, как показано ниже, когда мы начинаем поиск

enter image description here и когда мы нажимаем любое слово, отображаемое, например, 2-е слово, оно будет вставлено в окно поиска, как показано ниже:

enter image description here

Я хочу сделать слово кликабельным, а не вставлять его в окно поиска. Кто-нибудь может отредактировать мой код, пожалуйста

1 Ответ

0 голосов
/ 25 мая 2019

Вместо того чтобы просто текст внутри <li>, поместите его в тег <a>.

<ul>
    <li>
        <a href="#">David Copperfield</a>
    </li>
    <li>
        <a href="#">Cristiano Ronaldo</a>
    </li>
</ul>

Затем прикрепите событие onclick к ссылке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...