sinhanitish
sinhanitish

Reputation: 1

Uncheck Radio Button on clicking Reset button in R (Shiny)

I am trying to uncheck the Radio Button on click of Rest button. I am using Shiny package to generate these Radio Button. On Click of Radio Button "Comparision",calling the ConditionalPanel with multiple checkbox. Select any number of Checkbox & click Compare button for comparison. I want to collapse the ConditionalPanel when i click Reset button. or Uncheck the Radion button so that it automatically hide the ConditionalPanel.

ui.R

sidebarLayout( 
sidebarPanel( 
selectInput("villNane", "Choose a Village:", choices = c("All","Village1", "Village2","Village3","Village4","Village5"), selected = "All"), 
selectInput("YesNo", "Vaccinated / Not Vaccinated:", choices = c("Yes","No")), 
radioButtons("compare", "Comparison :", choices="Compare", selected = character(0), inline = FALSE,width = NULL),      
  conditionalPanel(
    condition="input.compare =='Compare'",
    checkboxGroupInput(inputId="somevalue", label="Village :",choices=c("Village1","Village2","Village3","Village4","Village5"), selected=NULL, inline=TRUE),
    actionButton("compAction", "Compare"),
    actionButton("resetAction", "Reset")
  )

server.R

if(inAc == 1){
        CB <-input$somevalue
        if((YN == 'Yes') &(villName=="All")){
          layout(matrix(c(1,2,3,4,5), 2,2, byrow = TRUE),widths=c(3,3), heights=c(3,3))
          for (val in 1:length(CB)) {
            gotData1 <- get(CB[val],vac)
            pct <- round(gotData1/sum(gotData1)*100)
            lbls <- c("Attack", "Not Attack")
            lbls2 <- paste(lbls, "-", pct, "%")
            pie(gotData1,labels=lbls2,radius=1.15)
          }
        }

      }

Upvotes: 0

Views: 965

Answers (1)

Benjamin
Benjamin

Reputation: 17279

I think you're probably going to find it easier to use the shinyjs package.

library(shiny)
library(shinyjs)

shinyApp(
  ui = 
    shinyUI(
      sidebarLayout( 
        sidebarPanel(
          useShinyjs(),
          verbatimTextOutput("display"),
          selectInput("villNane", "Choose a Village:", choices = c("All","Village1", "Village2","Village3","Village4","Village5"), selected = "All"), 
          selectInput("YesNo", "Vaccinated / Not Vaccinated:", choices = c("Yes","No")), 
          actionButton("compare", "Compare"),
          hidden(
            checkboxGroupInput(inputId="somevalue", label="Village :",choices=c("Village1","Village2","Village3","Village4","Village5"), selected=NULL, inline=TRUE)
          ),

          actionButton("compAction", "Compare"),
          actionButton("resetAction", "Reset")
        ),
        mainPanel()
      )
    ),

  server = 
    shinyServer(function(input, output, session){
      observeEvent(
        input$compare,
        {
           show("somevalue")
        }
      )

      observeEvent(
        input$resetAction,
        {
          hide("somevalue")
        }
      )

    })
)

Upvotes: 1

Related Questions