2016-02-28 61 views
3

我想使用checkboxGroupInput,然後,如果某個框被選中,我想要一個條件面板。玩具例子是在這裏:使用條件面板與checkboxGroupInput的值

shinyUI(fluidPage( 

sidebarLayout(
    sidebarPanel(
     checkboxGroupInput("items","Which Item?", 
      choices=c("A","B","C","D")), 
     conditionalPanel(condition = "input.items == 'D'",  
      numericInput("n","n",value=50,min=0,max=100,step=1) 
     ) 
    ),  
     mainPanel(
     uiOutput("text") 
    ) 
)  

))

現在如果只選擇框「d」,但如果(如將是我的問題,正常的)幾個箱子都選擇了這個工作正常。

在server.R像

if("D" %in% input$which) 

工作正常,但似乎並不在ui.R.工作我也嘗試了子集阿拉R,例如

conditionalPanel(condition = "input.items[4] == 'D'", 

但這也行不通。

沃爾夫岡

+2

你必須在條件內使用JavaScript代碼,所以你不能使用R語法。嘗試'conditionalPanel(condition =「input.items.includes('D')」') –

+0

謝謝docendo!那完美的作品。我一直在懷疑這方面的內容,並尋找正確的語法,但沒有成功。另外,我不熟悉JavaScript。有什麼地方可以去了解更多? –

+0

不,我不能告訴你一個好地方。我有同樣的問題,並以某種方式想出來。但是我一般都不熟悉JavaScript。 –

回答

4

docendo給出了正確答案:語法是

conditionalPanel(condition = "input.items.includes('D')" 

謝謝!