1

我正在尝试为 pickerinput 下拉菜单中的每个子选项添加一个工具提示。我已经尝试使用闪亮的 tooltipBS 从反应性单选按钮中调整函数 selectizeTooltip, 但恐怕我知道的不足以正确调整它。

不幸的是,只是在做

        pickerInput("pobrezavar1", label = NULL,
                    choices = c("Riesgo de pobreza (60%)"= "Pobreza_60_",
                                "Extrema pobreza (40%)"= "Pobreza_40_"
                                #"Pobreza según definición EJ-GV"= "Pobreza_GV_"
                                ),
                    selected = NULL,
                    options = list(`noneSelectedText`="Escoge"),
                    width = "100%"),
        
        selectizeTooltip(id="pobrezavar1", choice = "Pobreza_60_", title = "Tooltip for c", placement = "right", trigger = "hover"),
     

不起作用。

我正在开发的应用程序(您会看到我在 radioGroupButtons 上的工具提示在最后一行按钮中正常工作):http: //iseak.shinyapps.io/Mapa2/

提前感谢您提供的任何提示。

4

2 回答 2

4

这是一种方法,没有shinyBS.

library(shiny)
library(shinyWidgets)

js <- "
var mytips = ['HELLO I AM TOOLTIP 1', 'HI I AM TOOLTIP 2'];
$('#mypicker').on('shown.bs.select', function() {
  var $lis = $($(this).data('selectpicker').selectpicker.current.elements);
  $lis.each(function(i) {
    $(this).attr('title', mytips[i]);
  });
});"

ui <- fluidPage(
  
  pickerInput(
    inputId = "mypicker",
    label = "A label",
    choices = c("a", "b")
  ),
  
  tags$script(HTML(js)),
  
  verbatimTextOutput("value")
  
)

server <- function(input, output) {
  output$value <- renderPrint(input$mypicker)
}

shinyApp(ui, server)

在此处输入图像描述

于 2020-10-15T08:33:14.387 回答
0

如果您想使用 { jsonlite } 包将数据集的变量映射到工具提示文本,请在Stephane 的答案中添加一些元素:

library(jsonlite)

df_var <- jsonlite::toJSON(df$var, dataframe="values")

js <- paste("
var mytips = ", test, ";
$('#mypicker').on('shown.bs.select', function() {
  var $lis = $($(this).data('selectpicker').selectpicker.current.elements);
  $lis.each(function(i) {
    $(this).attr('title', mytips[i]);
  });
});", sep = "")

于 2022-01-24T22:23:39.287 回答