Remplir la table en fonction de sélectionner

J’utilise ce code pour remplir une table en fonction de l’option de sélection choisie. Ce code fonctionne bien si l’utilisateur clique sur la sélection, mais pas si l’utilisateur utilise les touches de direction.

Dans ce cas, la table n’est pas nettoyée et les données de json sont renseignées de manière séquentielle. Ainsi, la sortie dans la table ne correspondra pas à l’option actuellement sélectionnée.

Une idée à ce sujet?

$('select').on('change', function() { $('.agencies_table').html(''); $.getJSON("/users/agencies/" + this.value, function(data) { $.each(data.json_list, function(i, obj) { $('.agencies_table').append(' ' + obj.label + ' '); }); }); }); 

Une solution à envisager consiste à abandonner l’appel précédent.

 var xhr; $('select').on('change', function () { if (xhr) { xhr.abort(); } $('.agencies_table').html(''); xhr = $.getJSON("/users/agencies/" + this.value, function (data) { $.each(data.json_list, function (i, obj) { $('.agencies_table').append(' ' + obj.label + ' '); }); }).always(function () { xhr = undefined; }); });