Autocomplete

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Autocomplete

Re: Autocomplete

par joker94 » 23 janv. 2017, 13:53

Merci d'avoir répondu rapidement,

Mon autocomplete marche bien mais c'est lorque je clique sur un département ;

Image

y'a que la ville qui ce valide mais pas le code postal dedans :

Image

dans mon citisearch j'ai sa :

Code : Tout sélectionner

$config = getConfig(); $action = 'default'; if (isset($_REQUEST['action'])){ $action = $_REQUEST['action']; } switch ($action){ case 'search': if (empty($_REQUEST['region_id'])){ $_REQUEST['region_id'] = 'all'; } $cities = searchCitiesByRegion($_REQUEST['term'], $_REQUEST['region_id']); $cities = convertToAutocompleteResults($cities); echo json_encode($cities);

Re: Autocomplete

par moogli » 23 janv. 2017, 10:59

salut

a vu de nez c'est ceci qui ne va pas
var city_info = data[d].label.split('|');
data[d].label += city_info[0];
data[d].label += city_info[1];
en tous cas si tu as du JSON ceci est aberrant. Tu ne devrais pas avoir de données structurées dans du json et encore moins dans une base de données relationnelle (vu la table cela ne semble pas être le cas).

qu'est ce que tu reçois de ton fichier citysearch.php ? (regarde dans l'onglet network des outils de dev ou affiche simplement ce fichier avec le bon paramètre dans une page web tu pourras vérifier ce avec quoi tu dois travailler.

tu peux aussi afficher le contenu de data dans la console (console.log) ou simplement utiliser les outils développeur de ton navigateur pour déboguer la chose ;)

@+

Autocomplete

par joker94 » 22 janv. 2017, 02:57

Bonjour je coince depuis plusieurs jours est ce quelqu'un serait comment faire, j'ai fait un autocomplete le problème c'est que j'ai que la ville qui s'affiche pas le code postal je voudrais exemple :

Paris 75006

La actuellement j'ai sa :

Paris

Voici un bout de mon code ou je coince,ma base de donnée est comme ceci : ID - Ville - Code postal

Mon code :
var lastXhr, suggestions, selected_id = null;
jQuery(document).ready(function($){
	$("#searchbox")
		.autocomplete({
			minLength: 1,
			autoFocus: true,
			html: true,
			source: function( request, response ) {
				request.action = 'searchWithImage';
				request.ajax = '1';
				request.region_id = $('#regions').val();

				lastXhr = $.getJSON('citysearch.php', request, function( data, status, xhr ) {

					if ( xhr === lastXhr ) {
						for(d in data){
							var city_info = data[d].label.split('|');
							data[d].label += city_info[0];
							data[d].label += city_info[1];
						}
						suggestions = data;
						response( data );
					}
				});
			},
			select: function(event, ui) {
				selected_id = ui.item.id;
				$('#selected-city').val(selected_id);
				var city_name = $(ui.item.label).find('.city-name').text();
				$('#city-name').val(city_name);
			},
			change: function(event, ui){
				if (selected_id === null){
					var found = false;
					for(i in suggestions){
						if (suggestions[i].value.toLowerCase() == $(this).val().toLowerCase()){
							selected_id = suggestions[i].id;
							$('#selected-city').val(selected_id);
							$(this).val(suggestions[i].value);
							found = true;
						}
					}
					if (!found){
						alert('Votre code postal ou ville ne correspond pas.')
					}
				}
			},
			open: function(){
				selected_id = null;
				$('#selected-city').val(selected_id);
			}
		})
	;
});