Comment implémenter une fonction d'invite automatique de champ de recherche simple ? Cet article présente principalement la fonction d'invite de complétion automatique de récupération simple implémentée par php+mysql+jquery, impliquant les compétences opérationnelles liées à la requête de base de données ajax et à la réponse dynamique d'événement basée sur jQuery. Les amis dans le besoin peuvent s'y référer. J'espère que cela aide tout le monde.
Les détails sont les suivants :
J'ai lu du contenu sur les invites de saisie semi-automatique pendant cette période et j'ai constaté que la plupart des processus de mise en œuvre sont très compliqués. Je pensais que cela devrait être une fonction relativement simple, alors je l'ai essayé moi-même. L'idée est très conventionnelle. Il convient de noter qu'il n'y a pas d'événements clavier liés au contenu de l'invite et qu'ils ne peuvent être actionnés qu'avec la souris.
Contenu HTML+jQuery :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | <html>
<head>
<style type= "text/css" >
#autoBox
{
margin: 0px;
padding: 0px;
border: 1px solid #CCCCCC;
width: 200px;
}
#autoBox li
{
clear: both;
background-color: white;
color: black;
position: relative;
top: 0px;
left: 0px;
line-height: 25px;
width:200px;
text-align: left;
overflow: hidden;
}
#autoBox li:hover
{
background-color: gray;
color: yellow;
cursor: pointer;
}
</style>
<script type= "text/javascript" src= "js/jquery-1.9.1.min.js" ></script>
<script type= "text/javascript" >
$( function (){
$.ajaxSetup({cache:false}) ;
$( "#autoBox" ).hide();
$( "#stuSearch" ).keyup( function (){
$( "#autoBox" ).html( "" );
if ($( "#stuSearch" ).val().length>0)
{
$.ajax({
type: "post" ,
url: "phpFiles/stuSearch.php" ,
dataType: "json" ,
data:{keywords:$( "#stuSearch" ).val()},
success: function (feedbackdata)
{
$( "#autoBox" ).show();
for (i=0;i<feedbackdata.length;i++)
{
$( "#autoBox" ).append( "<li>" +feedbackdata[i]['truename']+ "</li>" );
}
$( "#autoBox li" ).on( "click" , function (){
$( "#stuSearch" ).val($(this).text());
})
$( "#autoBox" ).append( "<li style='text-align:right'>关闭</li>" );
$( "#autoBox li:last" ).on( "click" , function (){
$( "#autoBox" ).hide();
})
}
});
}
})
})
</script>
</head>
<body>
<input type= "text" placeholder= "输入您想检索的关键词后回车。" id= "stuSearch" name= "stuSearch" />
<ul id= "autoBox" >
</ul>
</body>
</html>
|
Copier après la connexion
Code stuSearch.php
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php
include '../phpFiles/connMysql.php';
$keywords = $_POST ['keywords'];
$myrs =mysql_query( "select * from users where truename like '" . $keywords . "%'" );
if ( $myrs )
{
while ( $row =mysql_fetch_array( $myrs ))
{
$temp []= $row ;
}
echo (json_encode( $temp ));
}
?>
|
Copier après la connexion
Rendu
Lors de la saisie :

Après avoir cliqué sur un article :

Recommandations associées :
Explication détaillée de la façon de résoudre le Sudoku en PHP
Explication détaillée de la façon de transférer dynamiquement des données vers des highcharts via PHP
Explication détaillée de la façon dont PHP génère un texte chiffré sensible au temps
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!