aboutsummaryrefslogtreecommitdiffstats
path: root/ui/jquery.ui.autocomplete.js
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-18 14:44:27 -0500
commit2aabc3911c3f9e4ca2bbb48d298ee6e5648b4c12 (patch)
treecc65dc327ebc5afc7abaef561727a2f10df1e09a /ui/jquery.ui.autocomplete.js
parentd2a12ff825ebb0e620b25abdbcbaf024881ef537 (diff)
downloadjquery-ui-2aabc3911c3f9e4ca2bbb48d298ee6e5648b4c12.tar.gz
jquery-ui-2aabc3911c3f9e4ca2bbb48d298ee6e5648b4c12.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.
Diffstat (limited to 'ui/jquery.ui.autocomplete.js')
-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 84d76ec08..76ceb24c0 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,
@@ -291,6 +294,7 @@ $.widget( "ui.autocomplete", {
},
_search: function( value ) {
+ this.pending++;
this.element.addClass( "ui-autocomplete-loading" );
this.source( { term: value }, this.response );
@@ -304,7 +308,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 ) {