passage de parametre avec autocomplete de jquery ui

passage de parametre avec autocomplete de jquery ui - HTML/CSS - Programmation

Marsh Posté le 20-09-2011 à 21:26:36    

Bonjour tout le monde.
 
Voilà , j'ai un problème, et je ne m'en sors pas.  
 
J'utilise le plugin autocomplete de jqueryui pour afficher la liste des communes. Par exemple si l'utilisateur saisit "LI" je voudrai que l'autocomplete me permette d'afficher les communes qui commencent par LI (donc LILLE par exemple - oui je suis chti). Tout fonctionne.
 
J'ai mis ceci côté html :
 

Code :
  1. <script type="text/javascript">
  2.       $(function() {
  3.     $("#commune" ).autocomplete({
  4.      /* source: "controleur/etablissement/getcommune.php?code_postal=59320", */
  5.      source: "controleur/etablissement/getcommune.php",
  6.      minLength: 2
  7.     });
  8.    });
  9.    </script>


 
LE code php fonctionne bien et me renvoie bien la liste des communes. Impec.
 
Maintenant je voudrai pousser le bouchon plus loin et voudrai que l'autocomplete me renvoit la liste des communes correspondant à un code postal particulier. Par exemple si l'utilisateur saisit 59000 et en plus si il tape "LI", alors l'autocomplete me renvoit toutes les villes dont le code postal est 59000 ET qui commencent par "LI". Rien de plus simple, il faut juste passer le code postal en paramètre et modifier un peu la requete sql. Mais comment je passe ce code postal ? Car il y a déjà le paramètre "?term" qui est imposé et envoyé vers le serveur.  
 
Vous comprenez ce que je veux dire ? C'est commenté dans le code ci dessus. Comment passer le code postal "59320" (par exemple) au serveur en plus du début du nom de la ville ? C'est peut être tout simple mais je ne vois pas comment faire.  
 
Merci d'avance pour vos réponses.  
 
Dominique

Reply

Marsh Posté le 20-09-2011 à 21:26:36   

Reply

Marsh Posté le 28-07-2017 à 11:17:29    

Même s'il s'agit d'un vieux message, je me permet de répondre car j'ai été confronté à la même problématique.
Cela pourra donc probablement aider d'autres développeurs.
En fait, c'est tout simple :
 
Coté HTML  
Récupérez la valeur (ici via JQuery) que vous souhaitez passer en paramètre
(ici la valeur serait celle d'un input d'id "idInput" ) et passez la dans l'url :

Code :
  1. var valparam= $("input#idInput" ).val();
  2.  var src = 'autocomplete_mails.php?param='+valparam;
  3.  $('.autocomplete_mails').autocomplete({
  4.       source : src,
  5.       dataType : 'json',
  6.       minLength : 3,
  7.  });


 
Coté PHP
Utilisez $_GET pour récupérer cette valeur, soit :
 

Code :
  1. $param= $_GET['param'];


 
Vous pouvez maintenant exploiter $param (qui contient votre valeur), par exemple au sein de requêtes vers la BDD. :)


Message édité par clairebx le 28-07-2017 à 11:26:15
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed