mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-10-05 01:44:18 +00:00
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:
parent
d2a12ff825
commit
2aabc3911c
7
ui/jquery.ui.autocomplete.js
vendored
7
ui/jquery.ui.autocomplete.js
vendored
@ -26,6 +26,9 @@ $.widget( "ui.autocomplete", {
|
|||||||
},
|
},
|
||||||
source: null
|
source: null
|
||||||
},
|
},
|
||||||
|
|
||||||
|
pending: 0,
|
||||||
|
|
||||||
_create: function() {
|
_create: function() {
|
||||||
var self = this,
|
var self = this,
|
||||||
doc = this.element[ 0 ].ownerDocument,
|
doc = this.element[ 0 ].ownerDocument,
|
||||||
@ -291,6 +294,7 @@ $.widget( "ui.autocomplete", {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_search: function( value ) {
|
_search: function( value ) {
|
||||||
|
this.pending++;
|
||||||
this.element.addClass( "ui-autocomplete-loading" );
|
this.element.addClass( "ui-autocomplete-loading" );
|
||||||
|
|
||||||
this.source( { term: value }, this.response );
|
this.source( { term: value }, this.response );
|
||||||
@ -304,7 +308,10 @@ $.widget( "ui.autocomplete", {
|
|||||||
} else {
|
} else {
|
||||||
this.close();
|
this.close();
|
||||||
}
|
}
|
||||||
|
this.pending--;
|
||||||
|
if ( !this.pending ) {
|
||||||
this.element.removeClass( "ui-autocomplete-loading" );
|
this.element.removeClass( "ui-autocomplete-loading" );
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
close: function( event ) {
|
close: function( event ) {
|
||||||
|
Loading…
Reference in New Issue
Block a user