shinyServer(function(input, output, session) {
observe({
# We'll use the input$controller variable multiple times, so save it as x
# for convenience.
x <- input$controller
# Create a list of new options, where the name of the items is something
# like 'option label x 1', and the values are 'option-x-1'.
cb_options <- list()
cb_options[[sprintf("option label %d 1", x)]] <- sprintf("option-%d-1", x)
cb_options[[sprintf("option label %d 2", x)]] <- sprintf("option-%d-2", x)
# Change values for input$inCheckboxGroup
updateCheckboxGroupInput(session, "inCheckboxGroup", choices = cb_options)
# Can also set the label and select items
updateCheckboxGroupInput(session, "inCheckboxGroup2",
label = paste("checkboxgroup label", x),
choices = cb_options,
selected = sprintf("option label %d 2", x)
)
})
})
Run the code above in your browser using DataLab