闪亮:基于 selectizeInput 的 conditionalPanel 的问题

Shiny: problems with conditionalPanel based on selectizeInput

我对以下代码有疑问。我的目标是根据 "selectizeInput" 显示一些 "numericInput"。它正在工作,但我有 2 个问题:

有什么想法吗?

谢谢,

杰里米

</p>

choice_list=letters[1:5]

shinyApp(
  ui = shinyUI(
    fluidPage(

      selectizeInput("ckbox",label="Letters",
                     choices=setNames(1:length(choice_list),choice_list),
                     selected = 1,multiple=T),

      lapply(1:length(choice_list), function(i) {
        conditionalPanel(
          condition = paste0("input.ckbox.indexOf('",i,"') != -1"),
          numericInput(paste0("numinput",i), choice_list[i], 1)
        )
      }),

      checkboxInput("test", label = "TEST", value = F),
      conditionalPanel(
        condition = "input.test",
        h3("TEST")                
      )
    )
  ), server = shinyServer(
    function(input, output, session) {  
    })
)

您的两个问题都与您的第一个条件面板的状况有关。当 selectize 元素为空时,input.ckboxnull 并且在尝试获取 indexOf.

时出现 JS 错误

试试这个条件:

condition = paste0("input.ckbox != null && input.ckbox.indexOf('",i,"') != -1")