Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在数据表中预选行_Javascript_Jquery_R_Datatable_Shiny - Fatal编程技术网

Javascript 如何在数据表中预选行

Javascript 如何在数据表中预选行,javascript,jquery,r,datatable,shiny,Javascript,Jquery,R,Datatable,Shiny,我在这里使用闪亮(0.12.0)和DT(0.0.65)来选择行。我想预先选择前5行。我试过: 使用datatable中的callbackJS更改行的类别。但是,这并没有反映在所选的输入$x1\u行变量中。由于CSS,只有背景/突出显示更改 使用。在选项列表中的rowCallback或callback中单击()。这在加载页面时也不起作用。但是,当我通过控制台/浏览器开发工具运行相同的代码时,它可以工作(更新所选的input$x1_行) 回调JS: output$x1 = DT::renderD

我在这里使用闪亮(0.12.0)和DT(0.0.65)来选择行。我想预先选择前5行。我试过:

  • 使用datatable中的
    callback
    JS更改行的类别。但是,这并没有反映在所选的
    输入$x1\u行
    变量中。由于CSS,只有背景/突出显示更改
  • 使用
    。在选项列表中的
    rowCallback
    callback
    中单击()。这在加载页面时也不起作用。但是,当我通过控制台/浏览器开发工具运行相同的代码时,它可以工作(更新所选的
    input$x1_行
回调
JS:

output$x1 = DT::renderDataTable({
    datatable(cars,
        rows = $("#x1 tbody tr");
        $(rows).slice(0,5).each(function() {
            $(this).click();
        });
    )
})

此功能已添加到DT(>=0.1.3)。示例:

library(shiny)
if (packageVersion('DT') < '0.1.3') devtools::install_github('rstudio/DT')
library(DT)
shinyApp(
  ui = fluidPage(
    fluidRow(
      h1('Client-side processing'),
      DT::dataTableOutput('x1'),
      h1('Server-side processing'),
      DT::dataTableOutput('x2')
    )
  ),
  server = function(input, output, session) {
    output$x1 = DT::renderDataTable(
      iris, server = FALSE,
      selection = list(mode = 'multiple', selected = c(1, 3, 8, 12))
    )
    output$x2 = DT::renderDataTable(
      iris, server = TRUE,
      selection = list(mode = 'multiple', selected = rownames(iris)[c(1, 3, 8, 12)])
    )
  }
)
库(闪亮)
if(packageVersion('DT')<'0.1.3')devtools::install_github('rstudio/DT'))
图书馆(DT)
shinyApp(
ui=fluidPage(
fluidRow(
h1(“客户端处理”),
DT::dataTableOutput('x1'),
h1(“服务器端处理”),
DT::dataTableOutput('x2')
)
),
服务器=功能(输入、输出、会话){
输出$x1=DT::renderDataTable(
iris,server=FALSE,
选择=列表(模式=多个,选择=c(1,3,8,12))
)
输出$x2=DT::renderDataTable(
iris,server=TRUE,
选择=列表(模式='multiple',选择=行名(iris)[c(1,3,8,12)])
)
}
)

仅供记录,相同的问题发布在上,并在中提到,我会看看我能做些什么。谢谢你的帮助。虽然对于客户端,我必须做:
selection=list(mode='multiple',selected=as.character(c(1,3,8))
而不仅仅是数字。如果你能将你的评论作为答案发表,我可以接受。嗨!你能解释一下客户端处理和服务器端处理之间的一些区别吗?它会产生什么影响吗?@ClaudH这是文档:是否可以将反应输入绑定到所选参数?我尝试过,但没有工作
selection=列表(模式=‘多’,选定=输入$s)