Requête AJAX et l'autocomplétion

Nouveau WRInaute
Bonjour à tous,

Je me permet de vous contacter car cela fais maintenant quelques jours que je bloque sur un point.

Je vous explique, j'ai mis en place un système d'autocomplétion sur des champs INPUT, jusque la tout va bien, ça fonctionne à merveille.
Lorsque l'internaute effectue une recherche sur un terme précis les résultats lui sont proposés.

Mais admettons que la suite de mot recherché ne soit pas en début de nom, alors là il ne le trouvera pas.

Exemple : nous recherchons les lettres "ACSM", le système nous proposera "ACSM FC", mais il ne nous proposera pas "Boulogne ACSM" car celles-ci ne sont pas en début de chaine.

Voici mon code AJAX :

Code:
var cache = {};
			$(function ()
			{
				$("#nom").autocomplete({
					source: function (request, response)
					{
						//Si la réponse est dans le cache
						if (('CLIENT' + '-' + request.term) in cache)
						{
							response($.map(cache['CLIENT' + '-' + request.term], function (item)
							{

								return {
									label: item.Nom,
									value: function ()
									{
										if($(this).attr('id') == 'nom')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#adfac').val(item.Adfac), $('#cp').val(item.CodePostal), $('#tel').val(item.Tel), $('#email').val(item.Email);
											return item.Nom;
										}
										else
										{
											$('#nom').val(item.Nom);
										}
									}
								}
							}));
						}
						//Sinon -> Requete Ajax
						else
						{
							var objData = {};
							if ($(this.element).attr('id') == 'nom')
							{
								objData = { Nom: request.term, code: 'CLIENT', maxRows: 20 };
							}
							$.ajax({
								url: "http://www.monsite.com/AutoCompletion.php",
								dataType: "json",
								data: objData,
								type: 'POST',
								success: function (data)
								{
									//Ajout de reponse dans le cache
									cache[('CLIENT' + '-' + request.term)] = data;
									response($.map(data, function (item)
									{

										return {
											label: item.Nom,
											value: function ()
											{
												if($(this).attr('id') == 'nom')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#adfac').val(item.Adfac), $('#cp').val(item.CodePostal), $('#tel').val(item.Tel), $('#email').val(item.Email);
													return item.Nom;
												}
												else
												{
													$('#nom').val(item.Nom);
													return item.Nom;
												}
											}
										}
									}));
								}
							});
						}
					},
					minLength: 1,
					delay: 100
				});
			});

J'ai essayé pas mal de solution mais impossible de m'en sortir, j'espère que vous pourrez m'aider.

Merci
 
WRInaute accro
Si la requête SQL est un LIKE, elle doit être du type: WHERE title LIKE '%ACSM%' (le pourcent % au début et à la fin).
Sinon full text search ce sera good aussi.
 
Nouveau WRInaute
Bonjour,

C'est plutôt au niveau du AutoCompletion.php qu'il faut regarder. Tu as probablement une requête du style

Code:
select machin from matable where machin like '$monchamp%' limit 10;

--> tu peux la remplacer par
Code:
select machin from matable where machin like '%$monchamp%' limit 10;

MAIS, au niveau performances sur la DB c'est moins bien (impossibilité d'utiliser correctement un index sur le champ machin s'il existait). Donc c'est une solution OK pour une table pas trop volumineuse (qques milliers de rows), mais ça peut ralentir ton serveur dans le cas contraire.
 
Nouveau WRInaute
Merci pour votre réponse rapide.

Je comprend le concept, j'ai déjà essayé mais sans résultat, peut-etre m'y suis-je mal pris.

Voici le code :
Code:
//Construction de la requete
$strQuery = "SELECT ID Id, NOM Nom, VILLE Ville, CP CodePostal, ADFAC Adfac, ADLIV Adliv, TEL Tel, MOBILE Mobile, FAX Fax, EMAIL Email, COMPTE Compte, BLACKLIST Blacklist FROM clients WHERE ";
if (isset($_POST["Nom"]))
{
    $strQuery .= "NOM LIKE :Nom ";
}
else if (isset($_POST["CodePostal"]))
{
    $strQuery .= "CP LIKE :CodePostal ";
}

Comment feriez-vous ?

Merci
 
Nouveau WRInaute
Oui merci, j'ai déjà parcouru ce document.

En fait, ce que je ne comprend pas c'est la façon de faire.

Comment positionner les "%" et pourquoi y a t-il les ":" dans ce bout de code ?

Code:
if (isset($_POST["Nom"]))
{
    $strQuery .= "NOM LIKE :Nom ";
}

Ce code a été repris à partir d'un système d'auto-complétion existant, je l'ai arrangé à ma sauce sans vraiment avoir tout compris.

j'ai essayé :
Code:
$strQuery .= "NOM LIKE :%Nom% ";
 $strQuery .= "NOM LIKE :'%Nom%' ";
$strQuery .= "NOM LIKE %Nom% ";
 $strQuery .= "NOM LIKE '%Nom%' ";
 $strQuery .= "NOM LIKE :"%Nom%" ";

Et ça fait planté tout le script.
 
WRInaute accro
Remplace

Code:
if (isset($_POST["Nom"]))
{
    $strQuery .= "NOM LIKE :Nom ";
}

par

Code:
if (isset($_POST["Nom"]))
{
    $strQuery .= "NOM LIKE '%Nom%'";
}

Et fait de même pour les autres $strQuery .= de ton fichier autocompletion.php.
 
Nouveau WRInaute
Ca ne marche pas, pour que ce soit plus clair pour vous, voici tout le code qui fonctionne sans les "%" :

Code:
<?php
require("class/CompletionClients.class.php");

//Initialisation de la liste
$list = array();

//Connexion MySQL
try
{
    $db = new PDO('mysql:host=localhost;dbname'', '');
}
catch (Exception $ex)
{
    echo $ex->getMessage();
}

//Construction de la requete
$strQuery = "SELECT ID Id, NOM Nom, VILLE Ville, CP CodePostal, ADFAC Adfac, ADLIV Adliv, TEL Tel, MOBILE Mobile, FAX Fax, EMAIL Email, COMPTE Compte, BLACKLIST Blacklist FROM clients WHERE ";
if (isset($_POST["Nom"]))
{
    $strQuery .= "NOM LIKE :Nom ";
}
else if (isset($_POST["CodePostal"]))
{
    $strQuery .= "CP LIKE :CodePostal ";
}
else if (isset($_POST["Id"]))
{
    $strQuery .= "ID LIKE :Id ";
}
else if (isset($_POST["Adfac"]))
{
    $strQuery .= "ADFAC LIKE :Adfac ";
}
else if (isset($_POST["Adliv"]))
{
    $strQuery .= "ADLIV LIKE :Adliv ";
}
else if (isset($_POST["Tel"]))
{
    $strQuery .= "TEL LIKE :Tel ";
}
else if (isset($_POST["Mobile"]))
{
    $strQuery .= "MOBILE LIKE :Mobile ";
}
else if (isset($_POST["Fax"]))
{
    $strQuery .= "FAX LIKE :Fax ";
}
else if (isset($_POST["Email"]))
{
    $strQuery .= "EMAIL LIKE :Email ";
}
else if (isset($_POST["Compte"]))
{
    $strQuery .= "COMPTE LIKE :Compte ";
}
else if (isset($_POST["Blacklist"]))
{
    $strQuery .= "BLACKLIST LIKE :Blacklist ";
}
else
{
    $strQuery .= "VILLE LIKE :ville ";
}
$strQuery .= "AND CODE = 'CLIENT' ";
//Limite
if (isset($_POST["maxRows"]))
{
    $strQuery .= "LIMIT 0, :maxRows";
}
$query = $db->prepare($strQuery);
if (isset($_POST["CodePostal"]))
{
    $value = $_POST["CodePostal"]."%";
    $query->bindParam(":CodePostal", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Nom"]))
{
    $value = $_POST["Nom"]."%";
    $query->bindParam(":Nom", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Id"]))
{
    $value = $_POST["Id"]."%";
    $query->bindParam(":Id", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Adfac"]))
{
    $value = $_POST["Adfac"]."%";
    $query->bindParam(":Adfac", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Adliv"]))
{
    $value = $_POST["Adliv"]."%";
    $query->bindParam(":Adliv", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Tel"]))
{
    $value = $_POST["Tel"]."%";
    $query->bindParam(":Tel", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Mobile"]))
{
    $value = $_POST["Mobile"]."%";
    $query->bindParam(":Mobile", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Fax"]))
{
    $value = $_POST["Fax"]."%";
    $query->bindParam(":Fax", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Email"]))
{
    $value = $_POST["Email"]."%";
    $query->bindParam(":Email", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Compte"]))
{
    $value = $_POST["Compte"]."%";
    $query->bindParam(":Compte", $value, PDO::PARAM_STR);
}
else if (isset($_POST["Blacklist"]))
{
    $value = $_POST["Blacklist"]."%";
    $query->bindParam(":Blacklist", $value, PDO::PARAM_STR);
}
else
{
    $value = $_POST["ville"]."%";
    $query->bindParam(":ville", $value, PDO::PARAM_STR);
}
//Limite
if (isset($_POST["maxRows"]))
{
    $valueRows = intval($_POST["maxRows"]);
    $query->bindParam(":maxRows", $valueRows, PDO::PARAM_INT);
}

$query->execute();

$list = $query->fetchAll(PDO::FETCH_CLASS, "CompletionClients");;

echo json_encode($list);

?>
 
WRInaute impliqué
$value = "%".$_POST["Nom"]."%";
$query->bindParam(":Nom", $value, PDO::pARAM_STR);

sans toucher au reste du code qui fonctionne.
 
Nouveau WRInaute
C'est bon j'ai compris, c'était en fait dans la deuxième partie du code :
Code:
 $value = $_POST["Nom"]."%";
    $query->bindParam(":Nom", $value, PDO::PARAM_STR);

Il fallait rajouté "%" avant la valeur POST

Code:
 $value = "%".$_POST["Nom"]."%";
    $query->bindParam(":Nom", $value, PDO::PARAM_STR);

Merci beaucoup.

Edit : Merci Baud74, je viens seulement de m'en rendre compte :)

Et maintenant, si je peux me permettre, j'aimerais styliser la valeur $_POST dans le champ d'auto-complétion.

Exemple : Monaco ACSM

On appel les lettre "CS"

Je voudrais que ces deux lettres soient colorées.

j'encadre la valeur POST dans un span ? Edit: le span ne fonctionne pas !
 
Nouveau WRInaute
Oui je savais qu'il fallait un "%" mais je me suis concentré sur une partie du code qui n'était pas la bonne.

Maintenant, saurais-tu styliser la requête de l'internaute ?

Merci
 
Nouveau WRInaute
Ok merci, mais j'avou que là c'est un peu du chinois pour moi.

Dans l'idéal il faudrait que j'arrive à me servir de ça :
Code:
.autocomplete( "instance" )._renderItem = function( ul, item ) {
return $( "<li>" )
.append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
.appendTo( ul );
};

et le convertir afin que je puisse mettre mes request.term en gras par exemple...

Je vais chercher...
 
WRInaute impliqué
il faut que tu trouves la variable qui contient le terme recherché, puis quelque chose du genre :
var s = item.label.replace(marecherche, "<strong>"+marecherche+"</strong>");
 
Nouveau WRInaute
var s = item.label.replace(request.term, "<strong>"+request.term+"</strong>");

Merci pour l'info, j'ai essayé de faire ce que tu me dis, mais je ne sais ou le placer car actuellement ça plante tout le script.
Code:
var cache = {};
			$(function ()
			{
				$("#cp, #ville, #nom, #tel, #adfac, #adliv, #mobile, #fax, #email, #compte, #blacklist").autocomplete({
					source: function (request, response)
					{
						//Si la réponse est dans le cache
						if (('CLIENT' + '-' + request.term) in cache)
						{
							response($.map(cache['CLIENT' + '-' + request.term], function (item)
							{

								return {
									label: item.Nom + ' - ' + item.CodePostal,
									value: function ()
									{
										if ($(this).attr('id') == 'cp')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.CodePostal;
										}
										else if($(this).attr('id') == 'nom')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Nom;
										}
										else if($(this).attr('id') == 'adfac')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Adfac;
										}
										else if($(this).attr('id') == 'adliv')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Adliv;
										}
										else if($(this).attr('id') == 'tel')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Tel;
										}
										else if($(this).attr('id') == 'mobile')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Mobile;
										}
										else if($(this).attr('id') == 'fax')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Fax;
										}
										else if($(this).attr('id') == 'email')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Email;
										}
										else if($(this).attr('id') == 'compte')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Compte;
										}
										else if($(this).attr('id') == 'ville')
										{
											$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
											return item.Ville;
										}
										else
										{
											$('#nom').val(item.Nom);
										}
									}
								}
							}));
						}
						//Sinon -> Requete Ajax
						else
						{
							var objData = {};
							if ($(this.element).attr('id') == 'cp')
							{
								objData = { CodePostal: request.term, code: 'CLIENT', maxRows: 50 };
							}
							else if ($(this.element).attr('id') == 'nom')
							{
								objData = { Nom: request.term, code: 'CLIENT', maxRows: 20 };
							}
							else if ($(this.element).attr('id') == 'adfac')
							{
								objData = { Adfac: request.term, code: 'CLIENT', maxRows: 10 };
							}
							else if ($(this.element).attr('id') == 'adliv')
							{
								objData = { Adliv: request.term, code: 'CLIENT', maxRows: 10 };
							}
							else if ($(this.element).attr('id') == 'tel')
							{
								objData = { Tel: request.term, code: 'CLIENT', maxRows: 10 };
							}
							else if ($(this.element).attr('id') == 'mobile')
							{
								objData = { Mobile: request.term, code: 'CLIENT', maxRows: 10 };
							}
							else if ($(this.element).attr('id') == 'fax')
							{
								objData = { Fax: request.term, code: 'CLIENT', maxRows: 10 };
							}
							else if ($(this.element).attr('id') == 'email')
							{
								objData = { Email: request.term, code: 'CLIENT', maxRows: 10 };
							}
							else if ($(this.element).attr('id') == 'compte')
							{
								objData = { Compte: request.term, code: 'CLIENT', maxRows: 20 };
							}
							else if ($(this.element).attr('id') == 'blacklist')
							{
								objData = { Blacklist: request.term, code: 'CLIENT', maxRows: 20 };
							}
							else
							{
								objData = { ville: request.term, code: 'CLIENT', maxRows: 20 };
							}
							$.ajax({
								url: "http://www.monsite.com/AutoCompletion.php",
								dataType: "json",
								data: objData,
								type: 'POST',
								success: function (data)
								{
									//Ajout de reponse dans le cache
									cache[('CLIENT' + '-' + request.term)] = data;
									response($.map(data, function (item)
									{

										return {
											label: item.Nom + ' - ' + item.CodePostal,
											value: function ()
											{
												if ($(this).attr('id') == 'cp')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.CodePostal;
												}
												else if($(this).attr('id') == 'nom')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Nom;
												}
												else if($(this).attr('id') == 'adfac')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Adfac;
												}
												else if($(this).attr('id') == 'adliv')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Adliv;
												}
												else if($(this).attr('id') == 'tel')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Tel;
												}
												else if($(this).attr('id') == 'mobile')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Mobile;
												}
												else if($(this).attr('id') == 'fax')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Fax;
												}
												else if($(this).attr('id') == 'email')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Email;
												}
												else if($(this).attr('id') == 'compte')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Compte;
												}
												else if($(this).attr('id') == 'blacklist')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Blacklist;
												}
												else if($(this).attr('id') == 'ville')
												{
													$('#id').val('CL0' + item.Id), $('#ville').val(item.Ville), $('#nom').val(item.Nom), $('#adfac').val(item.Adfac), $('#adliv').val(item.Adliv), $('#cp').val(item.CodePostal), $('#mobile').val(item.Mobile), $('#tel').val(item.Tel), $('#fax').val(item.Fax), $('#compte').val(item.Compte), $('#blacklist').val(item.Blacklist), $('#email').val(item.Email);
													return item.Ville;
												}
												else
												{
													$('#nom').val(item.Nom);
													return item.Nom;
												}
											}
										}
									}));
								}
							});
						}
					},
					minLength: 2,
					delay: 200
				});
			});

Edit: request.term contient les caractères recherchés mais si l'on modifie sa structure il ne pourra plus interroger la base de donnée.
je ne vois vraiment pas comment faire ...
 
Discussions similaires
Haut