Bonjour à tous,
Je suis débutant en ajax et je souhaite faire une liste déroulante qui charge depuis une base de donnée des éléments.
Mon code fonctionne sauf qu'il retourne une liste <li> qui est affiché dans un bouton input.
Mon problème, je souhaiterai comme retour un <select><option><select> à l'intérieur.
Pour que l'utilisateur ne puisse pas changer le text dedans après sélection…
Est-ce que quelqu'un à une idée?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $("#tags").autocomplete({ source: "search.php", minLength: 1, delay: 600 });
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <?php // accès sur local $hostname = "localhost"; $username = "root"; $password = "root"; $dbname = "autoCompleteTest"; try { $conn = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password); // le format Json n'aime pas trop l'iso et le reste :) $conn->exec("SET CHARACTER SET utf8"); } catch(PDOException $e) { echo $e->getMessage(); } // type de retour $return_arr = array(); // si la connexion est ok on fait la requête if ($conn) { //ajax retourne une variable term en GET $term = $_GET['term']; // la colonne qu'on veut afficher $colonneAffiche = 'VILLE'; // limite pour pas faire exploser l'application $limit = 10; // requete $query = "SELECT* FROM cp_autocomplete WHERE VILLE like '$term%' ORDER BY VILLE ASC LIMIT $limit"; $result = $conn->prepare($query); if ($result->execute()) { // tant que le res est vrai on envoie la ligne while ($row = $result->fetch(PDO::FETCH_ASSOC)){ $row_array['value'] = $row[$colonneAffiche]; array_push($return_arr,$row_array); } } } // fermer la connexion $conn = null; // fermer le curseur $result->closeCursor(); // retour de la requete au format json echo json_encode($return_arr); ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>jQuery UI Example Page</title> <link type="text/css" href="css/smoothness/jquery-ui-1.8.20.custom.css" rel="stylesheet" /> <link type="text/css" href="chosen/chosen.css" rel="stylesheet" /> <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> <script type="text/javascript" src="js/jquery-ui-1.8.20.custom.min.js"></script> <script type="text/javascript" src="js/ajaxAutocompleteScript.js"></script> <script type="text/javascript" src="js/ajaxAutocompleteScript2.js"></script> <script src="chosen/chosen.jquery.js" type="text/javascript"></script> </head> <body> <form method="post" action="?"> <div class="demo"> <div class="ui-widget"> <label for="tags3" tabindex="3" >Tags avec cache + loader: </label> <input id="tags3" name="champsPersonne" placeholder="chercher une Personne"> </div> </div><!-- End demo --> <input type="submit" /> </form> </body> </html>
Merci beaucoup à tous pour votre aide!
Très bonne journée et meilleures salutations
Partager