aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2010-12-17 11:15:17 -0500
committerScott González <scott.gonzalez@gmail.com>2010-12-17 11:15:17 -0500
commit08422d69da9b916e645aefc1d6996dde24a44788 (patch)
tree9ecc33d427abfa8b4e2b2a0b57dc3b0c528f5143
parent0d0c86210c4a6473888089ddcea918df8c156022 (diff)
downloadjquery-ui-08422d69da9b916e645aefc1d6996dde24a44788.tar.gz
jquery-ui-08422d69da9b916e645aefc1d6996dde24a44788.zip
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.
-rw-r--r--ui/jquery.ui.autocomplete.js9
1 files changed, 8 insertions, 1 deletions
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 ) {