【问题标题】:How to limit the number of options a user can select with selectInput in R shiny when multiple is true?当多个为真时,如何限制用户可以使用 R Shiny 中的 selectInput 选择的选项数量?
【发布时间】:2021-11-17 21:38:21
【问题描述】:

我有一个闪亮的应用程序,我希望用户能够选择多个选项 - 但只能选择一定的限制。我找不到限制数量的方法。

下面是一个简单的、可重现的示例。在其中,我是用户,第一个问题最多只能选择 2/4 个选项,第二个问题最多可以选择 3/4,第三个问题可以选择多少(不需要对问题进行编辑) 3).

library(shiny)

ui <- fluidPage(
  
  
  sidebarLayout(
    sidebarPanel(                     selectInput("q1", label = "Choose up to 2.", choices = c(" ", "option 1", "option 2", "option 3", "option 4"), multiple = TRUE),
                                      selectInput("q2", label = "Choose up to 3.", choices = c(" ", "option 1", "option 2", "option 3", "option 4"), multiple = TRUE),
                                      selectInput("q3", label = "Choose as many as you want.", choices = c(" ", "option 1", "option 2", "option 3", "option 4"), multiple = TRUE)),
    mainPanel(
  
    )
  )
)

server <- function(input, output) {
  
  
}

# Run the application 
shinyApp(ui = ui, server = server)

【问题讨论】:

    标签: r shiny shinydashboard selectinput


    【解决方案1】:

    您可以使用 selectizeInput 代替 selectInput 并使用 options 参数来设置使用 maxItems 的最大允许项目。

    library(shiny)
    
    ui <- fluidPage(sidebarLayout(
      sidebarPanel(
        selectizeInput(
          "q1",
          label = "Choose up to 2.",
          choices = c(" ", "option 1", "option 2", "option 3", "option 4"),
          multiple = TRUE,
          options = list(maxItems = 2)
        ),
        selectizeInput(
          "q2",
          label = "Choose up to 3.",
          choices = c(" ", "option 1", "option 2", "option 3", "option 4"),
          multiple = TRUE,
          options = list(maxItems = 3)
        ),
        selectInput(
          "q3",
          label = "Choose as many as you want.",
          choices = c(" ", "option 1", "option 2", "option 3", "option 4"),
          multiple = TRUE
        )
      ),
      mainPanel()
    ))
    
    server <- function(input, output) {
      
    }
    
    # Run the application
    shinyApp(ui = ui, server = server)
    

    【讨论】:

      猜你喜欢
      • 2021-12-14
      • 1970-01-01
      • 2017-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 2021-05-17
      相关资源
      最近更新 更多