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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| <script type="text/javascript">
var cache = {};
$(function ()
{
$("#cp").autocomplete({
source: function (request, response)
{
//Si la réponse est dans le cache
if (('FR' + '-' + request.term) in cache)
{
response($.map(cache['FR' + '-' + request.term], function (item)
{
return {
label: item.CodePostal + " " + item.Ville,
value: function ()
{
//if ($(this).attr('id') == 'cp')
//{
$('#ville').val(item.Ville);
return item.CodePostal;
//}
//else
//{
// $('#cp').val(item.CodePostal);
// return item.Ville;
//}
}
}
}));
}
//Sinon -> Requete Ajax
else
{
var objData = {};
//if ($(this.element).attr('id') == 'cp')
//{
objData = { codePostal: request.term, pays: 'FR', maxRows: 10 };
//}
//else
//{
// objData = { ville: request.term, pays: 'FR', maxRows: 10 };
//}
$.ajax({
url: "./getville.php",
dataType: "json",
data: objData,
type: 'POST',
success: function (data)
{
//Ajout de reponse dans le cache
cache[('FR' + '-' + request.term)] = data;
//nombre de résultats retournés (length)
var nbrep = data.length;
response($.map(data, function (item)
{
return {
label: item.CodePostal + " " + item.Ville,
value: function ()
{
//if ($(this).attr('id') == 'cp')
//{
$('#ville').val(item.Ville);
$('#idville').val(item.Id);
return item.CodePostal;
//}
//else
//{
// $('#cp').val(item.CodePostal);
// $('#idville').val(item.Id);
// return item.Ville;
//}
}
}
}));
}
});
}
},
minLength: 3,
delay: 600
});
});
</script> |
Partager