WRInaute accro
Bonjour,
Pour expliquer en 2 mots...
Je développe un moteur de recherche pour mon site sur lequel après avoir sélectionné un pays de domiciliation, le champ "code postal" (input text) est utilisé pour renseigner le code postal et un menu déroulant s'affichera pour sélectionner une ville en fonction du code postal initialement renseigné.
J'utilise donc le framework JQUERY et UI auto-completion en m'appuyant sur JSON.
Le principe...
L'internaute renseigne à partir de 3 caractères le code postal pour que se lance l'auto-completion.
ça fonctionne très bien:
Mais en faite, logiquement une ville peut avoir plusieurs codes postaux donc pour éviter les erreurs de géolocalisation, je stocke dans un champ "MSCodePostal" en (text hidden) la valeur du code postal récupérer de mon fichier JSON sélectionné.
En théorie mais pas en pratique
C'est là que ça coince!
J'arrive pas à récupérer la valeur sélectionnée issue de mon "data".
Je vous mets mes scripts JS et PHP, pour la création de ma structure JSON.
Voici mon script JS:
Mon script PHP, créant la structure JSON:
Donc mon JSON est sous la forme d'une itération de la sorte:
array => array {"id","label","value"}
Donc pour passer d'une ville à une autre array[0], array[1], array[2], etc...
C'est là que je n'arrive pas à coller dans mon "info", la valeur sélectionnée issue de mon JSON:
Pouvez-vous m'aider?
Pour expliquer en 2 mots...
Je développe un moteur de recherche pour mon site sur lequel après avoir sélectionné un pays de domiciliation, le champ "code postal" (input text) est utilisé pour renseigner le code postal et un menu déroulant s'affichera pour sélectionner une ville en fonction du code postal initialement renseigné.
J'utilise donc le framework JQUERY et UI auto-completion en m'appuyant sur JSON.
Le principe...
L'internaute renseigne à partir de 3 caractères le code postal pour que se lance l'auto-completion.
ça fonctionne très bien:
Mais en faite, logiquement une ville peut avoir plusieurs codes postaux donc pour éviter les erreurs de géolocalisation, je stocke dans un champ "MSCodePostal" en (text hidden) la valeur du code postal récupérer de mon fichier JSON sélectionné.
En théorie mais pas en pratique
C'est là que ça coince!
J'arrive pas à récupérer la valeur sélectionnée issue de mon "data".
Je vous mets mes scripts JS et PHP, pour la création de ma structure JSON.
Voici mon script JS:
Code:
<script>
$( "#MSCPostal" ).autocomplete({
minLength: 3,
source: function( request, response ) {
var term = request.term;
var pid = $('#MSPays').val();
$.getJSON( "<?php echo HTTP_INTERFACE; ?>search.php?do=city&pid="+pid, request, function( data, status, xhr ) {
response(data);
var info = data[0]['id'];
$('#MSCodePostal').val(info);
});
}
});
</script>
Mon script PHP, créant la structure JSON:
Code:
public function getAutoCompletion($term,$genre){
$req = new CompBDD(); $metier = new Metier(); $array = array();
if($genre == 1){
$m = $req->executerSQL("SELECT `ville`,`code_postal` FROM `".T_MEMBRE."` WHERE `code_postal` LIKE '".$term."%' AND `pays`=".minuscule($_GET['pid'])." AND `statut`=2 GROUP BY `ville`");
while($s = mysql_fetch_object($m)){
$entry = "(".substr($s->code_postal,0,2).") ".$s->ville."";
array_push($array, array("id"=>$s->code_postal,"label"=>$entry,"value"=>$s->ville));
}
}
else{
//....
}
return (count($array) > 0)?$array:array(array("id"=>1,"label"=>TXT_75,"value"=>""));
}
Donc mon JSON est sous la forme d'une itération de la sorte:
array => array {"id","label","value"}
Donc pour passer d'une ville à une autre array[0], array[1], array[2], etc...
C'est là que je n'arrive pas à coller dans mon "info", la valeur sélectionnée issue de mon JSON:
Code:
$('#MSCodePostal').val(info);
Pouvez-vous m'aider?