Change the value of a checkboxes group buttons input on the client
Change the value of a radio group buttons input on the client
updateCheckboxGroupButtons( session, inputId, label = NULL, choices = NULL, selected = NULL, status = "default", size = "normal", checkIcon = list(), choiceNames = NULL, choiceValues = NULL, disabled = FALSE, disabledChoices = NULL )
session |
The session object passed to function given to shinyServer. |
inputId |
The id of the input object. |
label |
The label to set. |
choices |
The new choices for the input. |
selected |
The values selected. |
status |
Status, only used if choices is not NULL. |
size |
Size, only used if choices is not NULL. |
checkIcon |
Icon, only used if choices is not NULL. |
choiceNames, choiceValues |
List of names and values, an alternative to choices. |
disabled |
Logical, disable or enable buttons,
if |
disabledChoices |
Vector of specific choices to disable. |
if (interactive()) { library(shiny) library(shinyWidgets) # Example 1 ---- ui <- fluidPage( radioButtons(inputId = "up", label = "Update button :", choices = c("All", "None")), checkboxGroupButtons( inputId = "btn", label = "Power :", choices = c("Nuclear", "Hydro", "Solar", "Wind"), selected = "Hydro" ), verbatimTextOutput(outputId = "res") ) server <- function(input,output, session){ observeEvent(input$up, { if (input$up == "All"){ updateCheckboxGroupButtons(session, "btn", selected = c("Nuclear", "Hydro", "Solar", "Wind")) } else { updateCheckboxGroupButtons(session, "btn", selected = character(0)) } }, ignoreInit = TRUE) output$res <- renderPrint({ input$btn }) } shinyApp(ui = ui, server = server) # Example 2 ---- library("shiny") library("shinyWidgets") ui <- fluidPage( checkboxGroupButtons( inputId = "somevalue", choices = c("A", "B", "C"), label = "My label" ), verbatimTextOutput(outputId = "res"), actionButton(inputId = "updatechoices", label = "Random choices"), pickerInput( inputId = "updateselected", label = "Update selected:", choices = c("A", "B", "C"), multiple = TRUE ), textInput(inputId = "updatelabel", label = "Update label") ) server <- function(input, output, session) { output$res <- renderPrint({ input$somevalue }) observeEvent(input$updatechoices, { newchoices <- sample(letters, sample(2:6)) updateCheckboxGroupButtons( session = session, inputId = "somevalue", choices = newchoices ) updatePickerInput( session = session, inputId = "updateselected", choices = newchoices ) }) observeEvent(input$updateselected, { updateCheckboxGroupButtons( session = session, inputId = "somevalue", selected = input$updateselected ) }, ignoreNULL = TRUE, ignoreInit = TRUE) observeEvent(input$updatelabel, { updateCheckboxGroupButtons( session = session, inputId = "somevalue", label = input$updatelabel ) }, ignoreInit = TRUE) } shinyApp(ui = ui, server = server) }
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.