动态更改下一个输入的数据
change data for next input dynamically
我有两个 select 输入
UI.R
图书馆(闪亮)
ContextElements = c("choice1", "choice2", "choice3")
shinyUI(pageWithSidebar(
headerPanel(""),
sidebarPanel(
h4("test for selectize input"),
selectizeInput(inputId = "firstAxe", label = h4("First Axe"),
choices=ContextElements, selected = NULL, multiple = FALSE,
options = NULL),
hr(),
selectizeInput(inputId = "twoAxe", label = h4("Second Axe"),
choices=NULL, selected = NULL, multiple = FALSE,
options = NULL)
),
mainPanel(
)
))
我希望下一个 selectizeinput 选项 ("twoAxe") 动态填充第一个选项的剩余选项,这意味着如果我选择第一个选项,如果第一个选项,第二个选择是 choice2 和 choice3
谢谢
您可以在 server.r
中使用 updateSelectizeInput
执行此操作。让我们假设 ContextElements
对服务器可用 - 在 global.r
中定义或在 server.r
和 ui.r
中定义。那么这应该有效:
observe({
input$firstAxe # makes the second selectize change when the first one does
updateSelectizeInput({session, inputId="twoAxe",
choices=as.list( ContextElements[!ContextElements %in% input$firstAxe] ) })
})
当您在 firstAxe
中更改您的选择时,您应该会看到 twoAxe
中的选择响应。
我有两个 select 输入 UI.R 图书馆(闪亮)
ContextElements = c("choice1", "choice2", "choice3")
shinyUI(pageWithSidebar(
headerPanel(""),
sidebarPanel(
h4("test for selectize input"),
selectizeInput(inputId = "firstAxe", label = h4("First Axe"),
choices=ContextElements, selected = NULL, multiple = FALSE,
options = NULL),
hr(),
selectizeInput(inputId = "twoAxe", label = h4("Second Axe"),
choices=NULL, selected = NULL, multiple = FALSE,
options = NULL)
),
mainPanel(
)
))
我希望下一个 selectizeinput 选项 ("twoAxe") 动态填充第一个选项的剩余选项,这意味着如果我选择第一个选项,如果第一个选项,第二个选择是 choice2 和 choice3
谢谢
您可以在 server.r
中使用 updateSelectizeInput
执行此操作。让我们假设 ContextElements
对服务器可用 - 在 global.r
中定义或在 server.r
和 ui.r
中定义。那么这应该有效:
observe({
input$firstAxe # makes the second selectize change when the first one does
updateSelectizeInput({session, inputId="twoAxe",
choices=as.list( ContextElements[!ContextElements %in% input$firstAxe] ) })
})
当您在 firstAxe
中更改您的选择时,您应该会看到 twoAxe
中的选择响应。