selectInput(inputId, label, choices, selected = NULL, multiple = FALSE, selectize = TRUE)
selectizeInput(inputId, ..., options = NULL)


inputId Input variable to assign the control's value to
label Display label for the control
choices List of values to select from. If elements of the list are named then that name rather than the value is displayed to the user.
selected The initially selected value (or multiple values if multiple = TRUE). If not specified then defaults to the first value for single-select lists and no values for multiple select lists.
multiple Is selection of multiple items allowed?
selectize Whether to use selectize.js or not.
... Arguments passed to selectInput().
options A list of options. See the documentation of selectize.js for possible options (character option values inside I() will be treated as literal JavaScript code; see renderDataTable() for details).

Create a select list input control


A select list control that can be added to a UI definition.


Create a select list that can be used to choose a single or multiple items from a list of values.


selectizeInput() uses the JavaScript library selectize.js ( to extend the basic select input element.


The selectize input created from selectizeInput() allows deletion of the selected option even in a single select input, which will return an empty string as its value. This is the default behavior of selectize.js. However, the selectize input created from selectInput(..., selectize = TRUE) will ignore the empty string value when it is a single choice input and the empty string is not in the choices argument. This is to keep compatibility with selectInput(..., selectize = FALSE).


selectInput("variable", "Variable:", c("Cylinders" = "cyl", "Transmission" = "am", "Gears" = "gear"))
<label class="control-label" for="variable">Variable:</label> <select id="variable"> <option value="cyl" selected="selected">Cylinders</option> <option value="am">Transmission</option> <option value="gear">Gears</option> </select> <script type="application/json" data-for="variable" data-nonempty="">{}</script>

See also

updateSelectInput Other input.elements: actionButton; animationOptions, sliderInput; checkboxGroupInput; checkboxInput; dateInput; dateRangeInput; fileInput; numericInput; radioButtons; submitButton; textInput