我正在尝试创建一个简单的闪亮应用程序,它按顺序提出两个问题。我为每个问题创建了一个 div,隐藏了第二个问题。我正在尝试使用带有操作按钮的 observeEvent 来触发第一个 div 的隐藏和第二个 div 在单击时的显示。但是,单击操作按钮不会触发observeEvent。有什么想法我错过了什么吗?
我的 ui.R 是:
library(shiny)
library(shinyjs)
shinyUI(fluidPage(useShinyjs(),
# Application title
titlePanel("My Survey App"),
# Sidebar with a slider input for number of bins
sidebarLayout(
sidebarPanel(
),
# Show a plot of the generated distribution
mainPanel(
h2("survey"),
wellPanel(
h6('Placeholder for Placeholder for question'),
br(),
div(id = 'questionseq1div',
h5('Text Question Here',align = 'center'),
br(),br(),
textInput('sequence-question-1', '', value = "", width = '100%',
placeholder = 'Give a detailed explanation of your position on the question.'),
br(),br(),
fluidRow(
column(6, align="center", offset = 3,
actionButton(inputId = 'completedquestion1',label = 'Next '),
tags$style(type='text/css', "#button { vertical-align: middle; height: 50px; width: 100%; font-size: 30px;}")
)
)
),
shinyjs::hidden(div(id = 'questionseq2div',
h5('Slider Input Question Here',align = 'center'),
br(),br(),
sliderInput('sequence-question-2','Min: 1 Max: 5',min = 1,max = 5,step = 1,ticks = T,value = 3),
br(),br(),
fluidRow(
column(6, align="center", offset = 3,
submitButton('completed-question-2','Submit '),
tags$style(type='text/css', "#button { vertical-align: middle; height: 50px; width: 100%; font-size: 30px;}")
)
)
)))
)
)
))
我的 server.R 是:
library(shiny)
library(shinyjs)
shinyServer(function(input, output,session) {
observeEvent(input$completedquestion1,{
print('Triggered')
shinyjs::show('questionseq2div')
shinyjs::hide('questionseq1div')
})
})