2016-07-21 6 views
1

ここでは、私は "a"と "e"の間で何かを選択できるselectInputを持っています。そして、私がそれをクリックすると、選択肢に自動的に "a"、 "b"、 "e"を加えるボタンがあります。アップデートを選択せず​​にリセットするRシャイニー

問題は、入力で既に選択されている項目をリセットしたくないということです。

たとえば、ユーザーがすでに「a」と「d」を選択していた場合、「a」、「b」、「e」の代わりにボタンをクリックします。彼はすでに "a"、特に "d"を望んでいたので、ユーザーは "a"、 "b"、 "d"、 "e"

それで、毎回再初期化しないようにupdateSelectInputを変更することはできますが、すでに選択されていない既に選択されているものに選択肢を追加するだけです(ここでは "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

申し訳ありません:A " "B" と "E")

希望、これは明らかである「だけに" リセット良い一日:)

そして、ここを持っていることは、コードです私がコメントすることができないので、答えとしてこれを置くために。私はあなたの質問で親切に提供してまだ明確ではないあなたが何を望んでいるのかをイメージして、それがより明確になるようにします。あなたの質問を解決することができれば幸いです。

感謝:)

1

さて、再び私は馬鹿だとそれはかなり簡単に修正、あなただけの変数で事前に選択された引数を取得し、更新に選択し、それを追加する必要が

ました:

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

})

関連する問題