aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2012-12-07 11:58:58 -0500
committerScott González <scott.gonzalez@gmail.com>2012-12-07 11:58:58 -0500
commitda17a232ca554254eabd3583805b381f6b525ec5 (patch)
tree29004625020ea375198fb4379c713eff8b7cd2ca
parent1481b080121bf15ef60f30162c345f0423f3986f (diff)
downloadjquery-ui-da17a232ca554254eabd3583805b381f6b525ec5.tar.gz
jquery-ui-da17a232ca554254eabd3583805b381f6b525ec5.zip
Autocomplete: Handle detached elements for appendTo after create.
-rw-r--r--tests/unit/autocomplete/autocomplete_options.js6
-rw-r--r--ui/jquery.ui.autocomplete.js2
2 files changed, 6 insertions, 2 deletions
diff --git a/tests/unit/autocomplete/autocomplete_options.js b/tests/unit/autocomplete/autocomplete_options.js
index d3a25d2fc..913f5bc28 100644
--- a/tests/unit/autocomplete/autocomplete_options.js
+++ b/tests/unit/autocomplete/autocomplete_options.js
@@ -5,7 +5,7 @@ module( "autocomplete: options" );
var data = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby", "python", "c", "scala", "groovy", "haskell", "perl" ];
test( "appendTo", function() {
- expect( 7 );
+ expect( 8 );
var detached = $( "<div>" ),
element = $( "#autocomplete" ).autocomplete();
equal( element.autocomplete( "widget" ).parent()[0], document.body, "defaults to body" );
@@ -39,6 +39,10 @@ test( "appendTo", function() {
});
equal( element.autocomplete( "widget" ).parent()[0], detached[0], "detached DOM element" );
element.autocomplete( "destroy" );
+
+ element.autocomplete().autocomplete( "option", "appendTo", detached );
+ equal( element.autocomplete( "widget" ).parent()[0], detached[0], "detached DOM element via option()" );
+ element.autocomplete( "destroy" );
});
function autoFocusTest( afValue, focusedLength ) {
diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js
index c049b8569..a858b3382 100644
--- a/ui/jquery.ui.autocomplete.js
+++ b/ui/jquery.ui.autocomplete.js
@@ -314,7 +314,7 @@ $.widget( "ui.autocomplete", {
this._initSource();
}
if ( key === "appendTo" ) {
- this.menu.element.appendTo( this.document.find( value || "body" )[0] );
+ this.menu.element.appendTo( this._appendTo() );
}
if ( key === "disabled" && value && this.xhr ) {
this.xhr.abort();