2015-10-06 22 views
1

我試圖將HTML包含在閃亮的textInput()函數中。更具體地說,我想將一個圖像包含在小部件中顯示的文本旁邊。以下是寫在ui.RR Shiny:在函數內使用HTML(如textInput,checkboxGroupInput)

shinyUI(navbarPage("Page Title",theme = shinytheme("united"), 
    tabPanel("Panel title",   
    sidebarLayout(
     sidebarPanel(

     textInput("textInputObject", c("Input Header", tags$span(HTML("<img src='http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png', title='help', alt='' />"))), value = "put text here"), 

     checkboxGroupInput("checkbInp", "Checkbox Header", 
          c("Checkbox1 [?]"   = "check1"   , 
           "Checkbox2 [?]"   = "check2"   , 
           "Checkbox3 [?]"   = "check3")   , 
          selected = c("check1")) 
) 
) 

這給了我:

enter image description here

有2個問題:

  1. 我能夠包括在標題中的形象textInput。但是,它應該只顯示「輸入標題」,然後顯示圖像。正如您在圖片中看到的,還會顯示tags$span的「span」。我該如何解決這個問題?

  2. 我不知道如何將圖像包含在checkboxGroupInput中。它應該取代「[?]」(見圖)

謝謝!

回答

2

#1,你可以很容易地通過HTML調用之前使用list解決這個問題。對於#2是有點棘手,因爲您可能需要自己編寫整個checkbox。也許如果你像我一樣可以聲明單獨的那些,那會好嗎?

rm(list = ls()) 
library(shiny) 
library(shinythemes) 

ui <- navbarPage("Page Title",theme = shinytheme("united"), 
       tabPanel("Panel title",   
          sidebarLayout(
          sidebarPanel(
           textInput("textInputObject", 
             c("Input Header",list(HTML("<img src='http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png'/>"))), value = "put text here"), 
           checkboxInput("checkbInp",c("Checkbox1",list(HTML("<img src='http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png'/>"))), value = T), 
           checkboxInput("checkbInp2",c("Checkbox2",list(HTML("<img src='http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png'/>")))), 
           checkboxInput("checkbInp3",c("Checkbox3",list(HTML("<img src='http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png'/>")))) 
          ), 
          mainPanel()) 
       ) 
) 
server <- function(input, output) {} 
shinyApp(ui, server) 

enter image description here

+0

它是解決方法,但它工作正常。到目前爲止,我沒有遇到更好的解決方案。 –

0

如果不需要span標籤,只是嘗試這樣的:

textInput("textInputObject", c("Input Header", tags$img(src = "http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png", title = "help", alt = ""), value = "put text here") 
+0

我試過了更早。不幸的是,它會使得生成的HTML-Page不顯示圖像,但是輸入標題可以是http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336。 png幫助** –

+0

不幸的是,我現在沒有機會測試它,但是您可以嘗試使用'tags $ span(tags $ img(src =「http://www2.psd100.com/ppp/2013/10/10) /0401/Blue-question-mark-icon-1004195336.png「,title =」help「,alt =」「))或者只是'c(」Input Header「,」「)' – Nicolae

+0

Thanks for the努力。恐怕,這些建議都不會起作用。第一種解決方案會產生與最初所述相同的問題:「輸入頭部跨度」,然後張貼圖像。第二個解決方案將顯示HTML標籤,如下所示:「輸入標頭」 –

相關問題