Opened 12 years ago
Closed 12 years ago
#7523 closed bug (fixed)
Autocomplete cancel pending request when text changes below minLength
Reported by: | stafil | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | 1.9.0 |
Component: | ui.autocomplete | Version: | 1.8.14 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
Let say we have an autocomplete with miLenght 4.
User enters the test "This". This will trigger a call to the registered "source" callback.
Now if the user hits backspace and deletes the text before callback returns the results, a pop-down will still appear with the auto-complete results for "This" although the textbox is empty.
This is because when the text goes bellow minLenght we do: <snip> search:function(a,b) {
a=a!=null?a:this.element.val(); this.term=this.element.val(); if(a.length<this.options.minLength)return this.close(b); clearTimeout(this.closing); if(this._trigger("search",b)!==false)return this._search(a)
</snip>
So when the user modifies the text we call "search". Since length is less that minLength we will call this.close(). However the close will not call the registered callback because the element is not visible yet.
Suggested solution would include either a) provide a new callback to notify the user to cancel the pending request or call the close anyway. The former looks more suitable.
Change History (2)
comment:1 Changed 12 years ago by
Component: | ui.core → ui.autocomplete |
---|
comment:2 Changed 12 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Autocomplete: Cancel search when closing the menu. Fixes #7523 - Autocomplete cancel pending request when text changes below minLength.