首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ShinyBS实现shiny中的反应式tooltipBS

使用ShinyBS实现shiny中的反应式tooltipBS
EN

Stack Overflow用户
提问于 2016-01-25 03:25:02
回答 1查看 733关注 0票数 1

我尝试在我的简单应用程序中使用shinyBS包。我想做的是创建依赖于每个radioButton的响应式工具提示文本。

为了澄清我的问题,我用HTML & JS写了一段简单的代码。

我还发现了一个solution,它似乎解决了我的问题,但实际上我认为它不能正常工作。使用shinyBS包可以做到这一点吗?

我也想实现我的HTML & JS代码到Shiny,但它仍然不能工作。

代码语言:javascript
复制
library(shiny)

yourStr <-   "$(document).ready(function(){
                      $('[id='radio_venue_1']').tooltip({
                                placement: 'right',
                                title: 'Button 1 Explanation',
                                trigger: 'hover'
                                });

                      $('[id='radio_venue_2']').tooltip({
                                placement: 'right',
                                title: 'Button 2 Explanation',
                                trigger: 'hover'
                                });

                      $('[id='radio_venue_3']').tooltip({
                                placement: 'right',
                                title: 'Button 3 Explanation',
                                trigger: 'hover'
                                });
                                });
"

ui <- shinyUI(

  fluidPage(
    fluidRow(
      column(3,
             HTML("<div class='container'><br>
                  <h1>Test</h1>
                  <div>
                  <label id='radio_venue_1'> 
                  <input type='radio' value='1' role='button'> button 1 
                  </label>
                  </div>
                  <div>
                  <label id='radio_venue_2'>
                  <input type='radio' value='2' role='button'> button 2
                  </label>
                  </div>
                  <div>
                  <label id='radio_venue_3'>
                  <input type='radio' value='3' role='button'> button 3
                  </label>
                  </div>
                  </div>")
      ), 
      column(9,
             'Plot')
      ),
  tags$script(HTML(yourStr))
    )
  )

server <- function(input, output, session) { 

}

shinyApp(ui = ui, server = server)
EN

回答 1

Stack Overflow用户

发布于 2016-01-25 15:51:22

您绝对可以使用shinyBS包来做到这一点

代码语言:javascript
复制
rm(list = ls())
library(shiny)
library(shinyBS)

ui <- shinyUI(
  fluidPage(
    fluidRow(
      column(3,
             HTML("<div class='container'><br>
                  <h1>Test</h1>
                  <div>
                  <label id='radio_venue_1'> 
                  <input type='radio' value='1' role='button'> button 1 
                  </label>
                  </div>
                  <div>
                  <label id='radio_venue_2'>
                  <input type='radio' value='2' role='button'> button 2
                  </label>
                  </div>
                  <div>
                  <label id='radio_venue_3'>
                  <input type='radio' value='3' role='button'> button 3
                  </label>
                  </div>
                  </div>")), 
      bsTooltip(id = "radio_venue_1", title = "Button 1 Explanation", placement = "right", trigger = "hover"),
      bsTooltip(id = "radio_venue_2", title = "Button 2 Explanation", placement = "right", trigger = "hover"),
      bsTooltip(id = "radio_venue_3", title = "Button 3 Explanation", placement = "right", trigger = "hover"),
      column(9,'Plot')
      )
    )
  )

server <- function(input, output, session) {}
shinyApp(ui = ui, server = server)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34980348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档