我有RShiny代码,我想用它来禁用/启用带有复选框的数字输入。但是,它仅适用于禁用。
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
checkboxInput("submit", label="Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
shinyjs::disable("test")
})
}
))我该怎么解决这个问题呢?
发布于 2017-12-30 05:26:04
您的代码基本上是正确的。bug存在于您所观察到的内容中。如果您使用的是操作按钮,那么您的代码将工作得很好。但是对于复选框,您需要在复选框未选中时禁用输入,在选中时启用,而不仅仅是观察事件。
library(shiny)
runApp(shinyApp(
ui = fluidPage(
shinyjs::useShinyjs(),
numericInput("test", "Test", 5),
checkboxInput("submit", label="Choose")
),
server = function(input, output, session) {
observeEvent(input$submit, {
if(input$submit == F){
shinyjs::disable("test")
} else {
shinyjs::enable("test")
}
})
}
))https://stackoverflow.com/questions/48023935
复制相似问题