How do I utilize javascript to display the cell value in a tooltip after hovering over a particular cell in a DT::datatable? I decided to hide the long text after a certain
Here is a solution with the newly available plugin ellipsis.
library(DT) # version 0.5
dat <- data.frame(
A = c("fnufnufroufrcnoonfrncacfnouafc", "fanunfrpn frnpncfrurnucfrnupfenc"),
B = c("DZDOPCDNAL DKODKPODPOKKPODZKPO", "AZERTYUIOPQSDFGHJKLMWXCVBN")
)
datatable(
dat,
plugins = "ellipsis",
options = list(
columnDefs = list(list(
targets = c(1,2),
render = JS("$.fn.dataTable.render.ellipsis( 17, false )")
))
)
)
Documentation of the plugin: https://datatables.net/plug-ins/dataRender/ellipsis
Could you try this:
datatable(head(iris),
options=list(initComplete = JS("function(settings) {var table=settings.oInstance.api(); table.$('td').each(function(){this.setAttribute('title', $(this).html())})}")))
This sets a tooltip for every cell.
To set the tooltip for a single specific cell:
datatable(head(iris),
options=list(initComplete = JS(
"function(settings) {
var table = settings.oInstance.api();
var cell = table.cell(2,2);
cell.node().setAttribute('title', cell.data());
}")))