Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R:在函数中使用HTML(如textInput、checkboxGroupInput)_Html_R_Shiny - Fatal编程技术网

R:在函数中使用HTML(如textInput、checkboxGroupInput)

R:在函数中使用HTML(如textInput、checkboxGroupInput),html,r,shiny,Html,R,Shiny,我试图在一个闪亮的textInput()函数中包含HTML。更具体地说,我希望在小部件中显示的文本旁边包含一个图像。以下内容是在ui.R中编写的: shinyUI(navbarPage("Page Title",theme = shinytheme("united"), tabPanel("Panel title", sidebarLayout( sidebarPanel( textInput("textInputObject"

我试图在一个闪亮的
textInput()
函数中包含HTML。更具体地说,我希望在小部件中显示的文本旁边包含一个图像。以下内容是在
ui.R
中编写的:

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"))
  )
)
shinyUI(navbarPage(“页面标题”),主题=shinytheme(“联合”),
选项卡面板(“面板标题”,
侧边栏布局(
侧栏面板(
textInput(“textInputObject”,c(“输入标题”,标记$span(HTML(“”)),value=“将文本放在此处”),
checkboxGroupInput(“checkbInp”、“复选框标题”,
c(“Checkbox1[?]”等于“check1”,
“Checkbox2[?]”=“check2”,
“Checkbox3[?]”等于“check3”),
选中=c(“选中1”)
)
)
这给了我:



有两个问题:

  • 我可以将图像包含在
    文本输入的标题中。但是,它应该只显示“输入标题”,然后显示图像。如图所示,
    标记$span
    中的“span”也会显示。我如何解决这个问题

  • 我不知道如何将图像包含在
    复选框GroupInput
    中。它应该替换“[?]”(参见图像)


  • 谢谢!

    如果不需要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")
    
    对于#1您可以在调用
    HTML
    之前使用
    list
    轻松解决此问题。对于#2则有点棘手,因为您可能需要自己编写整个
    复选框。如果您可以像我一样声明单独的复选框,可以吗

    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)
    
    rm(list=ls())
    图书馆(闪亮)
    图书馆(shinythemes)
    
    ui我之前尝试过。不幸的是,它会使生成的HTML页面不显示图像,但输入标题img帮助不幸的是,我现在没有机会测试它,但您可以尝试
    tags$span(tags$img(src=)http://www2.psd100.com/ppp/2013/10/0401/Blue-question-mark-icon-1004195336.png,title=“help”,alt=“”))
    或只是
    c(“输入标题”和“”)
    感谢您的努力。恐怕这两个建议都不起作用。第一个解决方案将产生与最初所述相同的问题:“输入标题范围”,然后是后期图像。第二个解决方案将显示HTML标记,即:“输入标题”这是一个可行的办法,但效果很好。到目前为止,我还没有找到更好的解决方案。