2016-07-21 80 views
1

這裏是我想要做的,我有一個selectInput我可以選擇「a」和「e」之間的任何東西。我想要一個按鈕,如果點擊它,它會自動添加「a」,「b」和「e」。更新選擇輸入不重置在R Shiny

問題是我不希望它重置輸入中已經選擇的項目。例如,假設用戶已經選擇「a」和「d」,然後他點擊按鈕,而不是獲得「a」,「b」和「e」。我希望用戶得到「a」,「b」,「d」和「e」,因爲他已經想要「a」,特別是「d」。

那麼如何修改updateSelectInput,使它不會每次重新初始化,但它只是將選擇添加到已經選擇的其他尚未選擇的選項中(這裏只添加「b」和「e」而不添加?!重置」只是 「一個」, 「b」 和 「E」)

希望這是明確的有一個好的一天:)

這裏是代碼:

ui <- shinyUI(fluidPage(

titlePanel("Yo"), 

sidebarLayout(
    sidebarPanel(
    uiOutput("select"), 
    actionButton("clear","Adding new") 
), 

mainPanel(

    ) 
) 
)) 

server <- shinyServer(function(input, output,session) { 
output$select <- renderUI({ 
    selectizeInput("sel", "The choices",choices = c("a","b","c","d","e"), selected = NULL, multiple = TRUE,options = list()) 

}) 
observeEvent (input$clear,{ 
updateSelectizeInput(session,"sel", selected = c("a","b","e"), options = list()) 

}) 
}) 

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

回答

0

對不起因爲我不能發表評論,所以我仍然不清楚你的問題是否提供你想要什麼圖像,以便它變得更清晰。並且將很樂意解決您的問題。

謝謝:)

1

那麼我再一次很愚蠢的,這是一個很容易解決,

你只需要拿到預選參數的變量,並把它添加到在更新的選擇:

observeEvent (input$clear,{ 
    edit <- input$sel 
    updateSelectizeInput(session,"sel", selected = c(edit,"a","b","e"), options = list()) 

})

相關問題