我遇到以下代码问题。我的目标是基于“selectizeInput”显示一些“numericInput”。它有效,但我有两个问题:
有什么想法吗?
谢谢,
的Jérémy
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) {
})
)
答案 0 :(得分:2)
您的两个问题都与您的第一个条件面板的状况有关。当selectize
元素为空时,input.ckbox
为null
,并且在尝试获取indexOf
时出现JS错误。
试试这个条件:
condition = paste0("input.ckbox != null && input.ckbox.indexOf('",i,"') != -1")