在鼠标悬停弹出窗口中显示 r Shiny actionButton Title
Display r Shiny actionButton Title in mouseover popup
我研究了如何在 mouseover
时显示 actionButton
标题。我了解 javascript,但不确定如何解决此问题。
在 mouseover
上,我希望显示 Button
的 Title
而不是 html 代码本身。我将不胜感激解决此问题的任何帮助或想法。下面是 POC 代码:
library(shiny)
library(DT)
library(dplyr)
shinyApp(
ui = fluidPage(
DT::dataTableOutput("table")
),
server = function(input, output) {
# create a summary table
summary_iris <- group_by(iris, Species) %>%
summarise(Count = n())
summary_iris$Species <- levels(summary_iris$Species)
shinyInput <- function(FUN, len, id, label, ...) {
inputs <- character(len)
for (i in seq_len(len)) {
label <- summary_iris$Species[i]
inputs[i] <- as.character(FUN(paste0(id, i),label=label, ...))
}
inputs
}
output$table <- DT::renderDataTable({
DT <- summary_iris %>%
mutate(Species = shinyInput(actionButton,
nrow(summary_iris), 'button_', label = Species, class="bttn-unite",
onclick = 'Shiny.onInputChange(\"select_button\", this.id)'))
DT::datatable(DT, rownames = FALSE, escape = FALSE,
options = list(rowCallback = JS(
"function(row, data) {",
"var full_text = data[0]",
"$('td:eq(0)', row).attr('title', full_text);",
"}")))
})
}
)
再次感谢您的帮助、指点或我在研究过程中遗漏的示例。
如何使按钮看起来像 Unite Button on this site?这并不重要,但我也在努力解决这个问题。
您可以使用正则表达式来提取文本:
rowCallback = JS(
"function(row, data) {",
" var r = />(.*)</;",
" var full_text = r.exec(data[0])[1]",
" $('td:eq(0)', row).attr('title', full_text);",
"}")
或者你可以用jQuery将字符串变成HTML对象,然后提取文本:
rowCallback = JS(
"function(row, data) {",
" var full_text = $(data[0]).text();",
" $('td:eq(0)', row).attr('title', full_text);",
"}")
我研究了如何在 mouseover
时显示 actionButton
标题。我了解 javascript,但不确定如何解决此问题。
在 mouseover
上,我希望显示 Button
的 Title
而不是 html 代码本身。我将不胜感激解决此问题的任何帮助或想法。下面是 POC 代码:
library(shiny)
library(DT)
library(dplyr)
shinyApp(
ui = fluidPage(
DT::dataTableOutput("table")
),
server = function(input, output) {
# create a summary table
summary_iris <- group_by(iris, Species) %>%
summarise(Count = n())
summary_iris$Species <- levels(summary_iris$Species)
shinyInput <- function(FUN, len, id, label, ...) {
inputs <- character(len)
for (i in seq_len(len)) {
label <- summary_iris$Species[i]
inputs[i] <- as.character(FUN(paste0(id, i),label=label, ...))
}
inputs
}
output$table <- DT::renderDataTable({
DT <- summary_iris %>%
mutate(Species = shinyInput(actionButton,
nrow(summary_iris), 'button_', label = Species, class="bttn-unite",
onclick = 'Shiny.onInputChange(\"select_button\", this.id)'))
DT::datatable(DT, rownames = FALSE, escape = FALSE,
options = list(rowCallback = JS(
"function(row, data) {",
"var full_text = data[0]",
"$('td:eq(0)', row).attr('title', full_text);",
"}")))
})
}
)
再次感谢您的帮助、指点或我在研究过程中遗漏的示例。
如何使按钮看起来像 Unite Button on this site?这并不重要,但我也在努力解决这个问题。
您可以使用正则表达式来提取文本:
rowCallback = JS(
"function(row, data) {",
" var r = />(.*)</;",
" var full_text = r.exec(data[0])[1]",
" $('td:eq(0)', row).attr('title', full_text);",
"}")
或者你可以用jQuery将字符串变成HTML对象,然后提取文本:
rowCallback = JS(
"function(row, data) {",
" var full_text = $(data[0]).text();",
" $('td:eq(0)', row).attr('title', full_text);",
"}")