闪亮:基于 selectizeInput 的 conditionalPanel 的问题
Shiny: problems with conditionalPanel based on selectizeInput
我对以下代码有疑问。我的目标是根据 "selectizeInput" 显示一些 "numericInput"。它正在工作,但我有 2 个问题:
- 当没有选择项目时,仍然有一个numericInput显示,当有none.
- 当没有选择任何项目时,checkboxInput(其行为应该完全独立于 selectizeInput)没有响应:我可以点击它,但是 "TEST" 没有打印出来。
有什么想法吗?
谢谢,
杰里米
</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.ckbox
为 null
并且在尝试获取 indexOf
.
时出现 JS 错误
试试这个条件:
condition = paste0("input.ckbox != null && input.ckbox.indexOf('",i,"') != -1")
我对以下代码有疑问。我的目标是根据 "selectizeInput" 显示一些 "numericInput"。它正在工作,但我有 2 个问题:
- 当没有选择项目时,仍然有一个numericInput显示,当有none.
- 当没有选择任何项目时,checkboxInput(其行为应该完全独立于 selectizeInput)没有响应:我可以点击它,但是 "TEST" 没有打印出来。
有什么想法吗?
谢谢,
杰里米
</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.ckbox
为 null
并且在尝试获取 indexOf
.
试试这个条件:
condition = paste0("input.ckbox != null && input.ckbox.indexOf('",i,"') != -1")