Skip to contents

Update a Bootstrap 386 select input on the client

Usage

update_select_input_386(
  session = getDefaultReactiveDomain(),
  inputId,
  label = NULL,
  choices = NULL,
  selected = NULL
)

Arguments

session

The session object passed to function given to shinyServer. Default is getDefaultReactiveDomain().

inputId

The id of the input object.

label

The label to set for the input object.

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. It's also possible to group related inputs by providing a named list whose elements are (either named or unnamed) lists, vectors, or factors. In this case, the outermost names will be used as the group labels (leveraging the <optgroup> HTML tag) for the elements in the respective sublist. See the example section for a small demo of this feature.

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.

Examples

if (interactive()) {
 library(shiny)
 library(shiny386)

 ui <- page_386(
  p("The radio group controls the select input"),
  radio_input_386("inCheckboxGroup", "Input checkbox",
                     c("Item A", "Item B", "Item C")),
  select_input_386("inSelect", "Select input",
             c("Item A", "Item B", "Item C"))
 )

 server <- function(input, output, session) {
   observe({
     x <- input$inCheckboxGroup

     # Can use character(0) to remove all choices
     if (is.null(x))
       x <- character(0)

     # Can also set the label and select items
     update_select_input_386(session, "inSelect",
                       label = paste("Select input label", length(x)),
                       choices = x,
                       selected = tail(x, 1)
     )
   })
 }

 shinyApp(ui, server)
}