我对JavaScript有一定的陌生,所以在使用DataTables回调选项中的函数时遇到了问题。
在这个小例子中,我想编写一个JavaScript函数,使得当用户选择mtcars
数据表中的一行时,如果MPG的值大于20,则会弹出一个提示框,显示“Good for you!”。这类似于这个例子,但该示例没有使用shiny
。以下是我的尝试:
library(shiny)
library(DT)
server <- function(input, output) {
output$one <- DT::renderDataTable(mtcars,options=list(callback=DT::JS(
'function(table) {
table.on("click.dt","tr", function() {
var data=table.row(this).data();
if (parseFloat(data[0]>20.0))
alert("Good for you!");
});}'
)))
}
ui <- fluidPage(mainPanel(DT::dataTableOutput("one")))
shinyApp(ui = ui, server = server)
选择MPG大于20的行并不会产生我想要的警报。我觉得我可能从根本上误解了回调选项中javascript的工作原理。任何帮助将不胜感激。
谢谢