Reset any input element back to its original value. You can either reset
one specific input at a time by providing the id of a shiny input, or reset
all inputs within an HTML tag by providing the id of an HTML tag.
Reset can be performed on any traditional Shiny input widget, which
includes: textInput, numericInput, sliderInput, selectInput,
selectizeInput, radioButtons, dateInput, dateRangeInput, checkboxInput,
checkboxGroupInput, colourInput, passwordInput, textAreaInput. Note that
actionButton
is not supported, meaning that you cannot reset
the value of a button back to 0.
reset(id = "", asis = FALSE)
The id of the input element to reset or the id of an HTML tag to reset all inputs inside it. If no id is provided, then all inputs on the page are reset.
If TRUE
, use the ID as-is even when inside a module
(instead of adding the namespace prefix to the ID).
shinyjs
must be initialized with a call to useShinyjs()
in the app's ui.
if (interactive()) {
library(shiny)
shinyApp(
ui = fluidPage(
useShinyjs(),
div(
id = "form",
textInput("name", "Name", "Dean"),
radioButtons("gender", "Gender", c("Male", "Female")),
selectInput("letter", "Favourite letter", LETTERS)
),
actionButton("resetAll", "Reset all"),
actionButton("resetName", "Reset name"),
actionButton("resetGender", "Reset Gender"),
actionButton("resetLetter", "Reset letter")
),
server = function(input, output) {
observeEvent(input$resetName, {
reset("name")
})
observeEvent(input$resetGender, {
reset("gender")
})
observeEvent(input$resetLetter, {
reset("letter")
})
observeEvent(input$resetAll, {
reset("form")
})
}
)
}