R: Create a multiselect input control

multiInput {shinyWidgets} | R Documentation

## Create a multiselect input control

### Description

A user-friendly replacement for select boxes with the multiple attribute

### Usage

    multiInput(inputId, label, choices = NULL, selected = NULL,
      options = NULL, width = NULL, choiceNames = NULL, choiceValues = NULL)

### Arguments

`inputId` | The `input` slot that will be used to access the value.
`label` | Display label for the control, or `NULL` for no label.
`choices` | List of values to select from.
`selected` | The initially selected value
`options` | List of options passed to multi (`enable_search = FALSE` for disabling the search bar for example)
`width` | The width of the input, e.g. `400px`, or `100%`
`choiceNames` | List of names to display
`choiceValues` | List of value to retrieve in server

### Value

A multiselect control

### Examples

    ## Not run:
    ## Only run examples in interactive R sessions
    if (interactive()) {

    library("shiny")
    library("shinyWidgets")

    # simple use

    ui <- fluidPage(
      multiInput(
        inputId = "id", label = "Fruits :",
        choices = c("Banana", "Blueberry", "Cherry",
                    "Coconut", "Grapefruit", "Kiwi",
                    "Lemon", "Lime", "Mango", "Orange",
                    "Papaya"),
        selected = "Banana", width = "350px"
      ),
      verbatimTextOutput(outputId = "res")
    )

    server <- function(input, output, session) {
      output$res <- renderPrint({
        input$id
      })
    }

    shinyApp(ui = ui, server = server)

    # with options

    ui <- fluidPage(
      multiInput(
        inputId = "id", label = "Fruits :",
        choices = c("Banana", "Blueberry", "Cherry",
                    "Coconut", "Grapefruit", "Kiwi",
                    "Lemon", "Lime", "Mango", "Orange",
                    "Papaya"),
        selected = "Banana", width = "400px",
        options = list(
          enable_search = FALSE,
          non_selected_header = "Choose between:",
          selected_header = "You have selected:"
        )
      ),
      verbatimTextOutput(outputId = "res")
    )

    server <- function(input, output, session) {
      output$res <- renderPrint({
        input$id
      })
    }

    shinyApp(ui = ui, server = server)

    }

    ## End(Not run)

[Package shinyWidgets version 0.4.3 Index]