# Autocomplete with Dropdown object when setting app.layout dynamically

**URL:** <https://community.plotly.com/t/autocomplete-with-dropdown-object-when-setting-app-layout-dynamically/5552>\
**Category:** Dash Python\
**Created:** [August 27, 2017, 6:10am UTC](https://community.plotly.com/t/autocomplete-with-dropdown-object-when-setting-app-layout-dynamically/5552 "2017-08-27T06:10:48Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![chriddyp](https://sea2.discourse-cdn.com/flex024/user_avatar/community.plotly.com/chriddyp/32/16855_2.png) [@chriddyp](https://community.plotly.com/u/chriddyp)\
**Post date:** [September 4, 2017, 9:51pm UTC](https://community.plotly.com/t/autocomplete-with-dropdown-object-when-setting-app-layout-dynamically/5552/2 "2017-09-04T21:51:49Z")

</div>

I’ve modified your example slightly and this seems to work for me ok:

 ![dynamic-autocomplete-dropdown](https://us1.discourse-cdn.com/flex024/uploads/plot/original/2X/6/62658191d65856c7cd443329f462a1c51ce24f23.gif)

```auto
# -*- coding: utf-8 -*-
import dash
import dash_html_components as html
import dash_core_components as dcc
from dash.dependencies import Input, Output, State, Event

app = dash.Dash()

app.config.supress_callback_exceptions=True

app.layout = html.Div([
    dcc.Location(id='url', refresh=False),
    html.Div(id='page-content')])

@app.callback(Output('page-content', 'children'),[Input('url', 'pathname')])
def generate_layout(url):
    return html.Div([
        html.Label('Multi-Select Dropdown'),
        dcc.Dropdown(
            options=[
                {'label': 'New York City', 'value': 'NYC'},
                {'label': u'Montréal', 'value': 'MTL'},
                {'label': 'San Francisco', 'value': 'SF'}
            ],
            value=['MTL', 'SF'],
            multi=True,
            id='input'
        ),
        html.Div(id='output')
    ])

@app.callback(Output('output', 'children'), [Input('input', 'value')])
def display_output(value):
    return 'You have selected "{}"'.format(value)

if __name__ == ' __main__':
    app.run_server(debug=True, host='0.0.0.0')

```

From your example, it looks like you aren’t supplying a callback to the dropdown that you are rendering. In this case, the dropdown autocomplete doesn’t work. Are you using the dropdown without a callback on its `value` in practice?

---

_[View the full topic](https://community.plotly.com/t/autocomplete-with-dropdown-object-when-setting-app-layout-dynamically/5552)._
