From 08422d69da9b916e645aefc1d6996dde24a44788 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Fri, 17 Dec 2010 11:15:17 -0500 Subject: [PATCH] Autocomplete: Track pending requests and only remove the loading class when the last request completes. Fixes #6761 - Autocomplete: Loading class removed when multiple Ajax requests occur. --- ui/jquery.ui.autocomplete.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js index 090dd7355..73d50ee6e 100644 --- a/ui/jquery.ui.autocomplete.js +++ b/ui/jquery.ui.autocomplete.js @@ -26,6 +26,9 @@ $.widget( "ui.autocomplete", { }, source: null }, + + pending: 0, + _create: function() { var self = this, doc = this.element[ 0 ].ownerDocument, @@ -289,6 +292,7 @@ $.widget( "ui.autocomplete", { }, _search: function( value ) { + this.pending++; this.element.addClass( "ui-autocomplete-loading" ); this.source( { term: value }, this.response ); @@ -302,7 +306,10 @@ $.widget( "ui.autocomplete", { } else { this.close(); } - this.element.removeClass( "ui-autocomplete-loading" ); + this.pending--; + if ( !this.pending ) { + this.element.removeClass( "ui-autocomplete-loading" ); + } }, close: function( event ) {