Ich versuche, dieses JS-Skript in einer DT-Datentabelle zu verwenden (von dieser Website: https://datatables.net/blog/2021-09-17):
var fsrco = $('#fuzzy-ranking').DataTable({ fuzzySearch: { rankColumn: 3 }, sort: [[3, 'desc']] }); fsrco.on('draw', function(){ fsrco.order([3, 'desc']); });
Verwenden Sie dieses Skript-Tag:
"//cdn.datatables.net/plug-ins/1.11.3/features/fuzzySearch/dataTables.fuzzySearch.js"
Ich möchte dies in eine DT-Datentabellenfunktion in einer Shiny-App integrieren, in der die Fuzzy-Suche anhand der Rangfolge angewendet wird (oben hat eine höhere Ähnlichkeit), ich möchte jedoch nicht, dass die Rangspalte angezeigt wird. p>
Ähnlich wie hier, aber ohne die Ranglistenspalte.
Einige grundlegende allgemeine Beispiele:
library(shiny) library(DT) js <- c( " var fsrco = $('#fuzzy-ranking').DataTable({", " fuzzySearch: {", " rankColumn: 3", " },", " sort: [[3, 'desc']]", "});", "fsrco.on('draw', function(){", " fsrco.order([3, 'desc']);", "});" ) ui <- fluidPage( DTOutput("table") ) server <- function(input, output, session){ output[["table"]] <- renderDT({ datatable( iris, selection = "none", editable = TRUE, callback = JS(js), extensions = "KeyTable", options = list( keys = TRUE, url = "//cdn.datatables.net/plug-ins/1.11.3/features/fuzzySearch/dataTables.fuzzySearch.js" ) ) }) } shinyApp(ui, server)
这个插件是一个旧插件,它不适用于最新版本的 DataTables。
但是我们可以采用计算相似度的 JavaScript 函数,并通过 SearchBuilder 扩展在自定义搜索中使用它。
首先,复制此 JavaScript 代码并将其保存在名称 levenshtein.js 下: