if (interactive()) {
shiny::shinyApp(
ui = shiny::fluidPage(
useShinyjs(), # Set up shinyjs
shiny::actionButton("btn", "Click me"),
shiny::textInput("element", "Watch what happens to me")
),
server = function(input, output) {
shiny::observeEvent(input$btn, {
# Change the following line for more examples
toggleState("element")
})
}
)
}
# The shinyjs function call in the above app can be replaced by
# any of the following examples to produce similar Shiny apps
toggleState(id = "element")
enable("element")
disable("element")
# Similarly, the "element" text input can be changed to many other
# input tags, such as the following examples
shiny::actionButton("element", "I'm a button")
shiny::fileInput("element", "Choose a file")
shiny::selectInput("element", "I'm a select box", 1:10)
## toggleState can be given an optional `condition` argument, which
## determines if to enable or disable the input
if (interactive()) {
shiny::shinyApp(
ui = shiny::fluidPage(
useShinyjs(),
shiny::textInput("text", "Please type at least 3 characters"),
shiny::actionButton("element", "Submit")
),
server = function(input, output) {
shiny::observe({
toggleState(id = "element", condition = nchar(input$text) >= 3)
})
}
)
}
Run the code above in your browser using DataLab