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.

This commit is contained in:
Scott González 2010-12-17 11:15:17 -05:00
parent d2a12ff825
commit 2aabc3911c

View File

@ -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.pending--;
if ( !this.pending ) {
this.element.removeClass( "ui-autocomplete-loading" );
}
},
close: function( event ) {