Я хотел бы добавить всплывающее окно на каждый ряд данных. Используя предоставленное решение [здесь] (всплывающая подсказка или всплывающая подсказка в Shiny datatables для имен строк?) (Я не знаю JavaScript, поэтому я слепо скопировал и вставил код) Мне удалось добавить всплывающее окно на первой странице таблицы,
Проблема в том, что таблица большая, поэтому я вынужден разделить ее на несколько страниц. Когда я выбираю другую страницу таблицы, всплывающее окно перестает работать.
Вот код, который я использую
output$view_data<-DT::renderDataTable({
DT::datatable(Extraction(),rownames = FALSE,escape = FALSE,
callback = JS(paste("
var tips =",paste0("[",paste0("'",unlist(DrugFilter()),"'",collapse=","),"]"),",
firstColumn = $('#view_data tr td:first-child');
for (var i = 0; i < tips.length; i++)
{$(firstColumn[i]).attr('title', tips[i]);}"
))
))
}, server = FALSE)
Как я могу изменить код, чтобы заставить всплывающее окно работать на всех страницах таблицы, а не только на первой?
Я хотел бы попробовать с rowCallback
:
rowCallback <- c(
"function(row, data, displayNum, displayIndex){",
sprintf(" var tips = [%s];",
paste0("'",unlist(DrugFilter()),"'",collapse=",")),
" for(var i = 0; i < tips.length; i++){",
" if(displayIndex== i){",
" $('td:eq(0)',row).attr('title', tips[i]);",
" }",
" }",
"}"
)
datatable(Extraction(),
rownames = FALSE,
escape = FALSE,
options = list(
rowCallback = JS(rowCallback)
)
)