2017-12-29 19 views
0

Ich habe RShiny Code, mit dem ich Nummerneingabe mit Checkbox deaktivieren/aktivieren möchte. Es funktioniert jedoch nur zum Deaktivieren.Enable disable input 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") 
     }) 
     } 
    )) 

Wie könnte ich das beheben?

Antwort

1

Ihr Code ist größtenteils korrekt. Der Fehler liegt in dem, was Sie beobachten. Ihr Code würde gut funktionieren, wenn Sie eine Aktionsschaltfläche verwenden. Aber für das Kontrollkästchen müssen Sie die Eingabe deaktivieren, wenn das Kontrollkästchen deaktiviert ist, und aktivieren, wenn aktiviert, und nicht nur das Ereignis beobachten.

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") 
     } 
    }) 
    } 
)) 
+0

Vielen Dank! ^^ –

Verwandte Themen