vra*_*js5 8 html r drop-down-menu shiny
我知道使用以下代码我可以创建闪亮的普通下拉菜单,
selectInput("Input1", "Choose you Input:", choices = c('a1'='1','b2'='2'))
Run Code Online (Sandbox Code Playgroud)
这将创建以下下拉列表
但是我正在使用conditionalPanel,并且我正在填充类似于内联的dropdown菜单
我正在使用以下代码生成这些菜单.
conditionalPanel(condition="input.conditionedPanels==3",
div(style="display:inline-block",
tags$label('Menu1', `for` = 'Sample'),
tags$select(id = 'Sample', class="input-small")),
div(style="display:inline-block",
tags$label('Menu2', `for` = 'Sample1'),
tags$select(id = 'Sample1', class="input-small")))
Run Code Online (Sandbox Code Playgroud)
我的问题是我无法在这些下拉菜单中添加项目.我尝试过值或选项,但这并没有改变任何东西.
我希望我提供了足够的信息,如果需要更多信息,请告诉我.
您可以提供标签列表tagList
.您需要的option
标签是带有value
属性的标签您可以使用它们构建这些标签mapply
library(shiny)
runApp(list(
ui = bootstrapPage(
numericInput('n', 'Enter 3 for condition', 3, 0, 10),
conditionalPanel(condition="input.n==3",
div(style="display:inline-block",
tags$label('Menu1', `for` = 'Sample'),
tags$select(id = 'Sample', class="input-small",
tagList(mapply(tags$option, value = 1:10,
paste0(letters[1:10], 1:10),
SIMPLIFY=FALSE)))
),
div(style="display:inline-block",
tags$label('Menu2', `for` = 'Sample1'),
tags$select(id = 'Sample1', class="input-small",
tagList(mapply(tags$option, value = 1:2,
paste0(letters[1:2], 1:2),
SIMPLIFY=FALSE)))
)
)
, textOutput("cond")
),
server = function(input, output) {
output$cond <- renderText({
if(input$n == 3){
paste0("Sample value selected =", input$Sample, " Sample1 value selected =",input$Sample1)
}
})
}
))
Run Code Online (Sandbox Code Playgroud)
当然你可以在selectInput
里面使用div
例如:
library(shiny)
runApp(list(
ui = bootstrapPage(
numericInput('n', 'Enter 3 for condition', 3, 0, 10),
conditionalPanel(condition="input.n==3",
div(style="display:inline-block",
selectInput("Sample", "Choose you Input:", choices = c('a1'='1','b2'='2'))
),
div(style="display:inline-block",
tags$label('Menu2', `for` = 'Sample1'),
tags$select(id = 'Sample1', class="input-small",
tagList(mapply(tags$option, value = 1:2,
paste0(letters[1:2], 1:2),
SIMPLIFY=FALSE)))
)
)
, textOutput("cond")
),
server = function(input, output) {
output$cond <- renderText({
if(input$n == 3){
paste0("Sample value selected =", input$Sample, " Sample1 value selected =",input$Sample1)
}
})
}
))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10777 次 |
最近记录: |