R:如何使用HTML在server.R中生成滑块

R:如何使用HTML在server.R中生成滑块,r,slider,shiny,R,Slider,Shiny,我想在我的服务器中生成滑块(因为我需要的滑块数量取决于其他输入)。正如下面的代码和图片所示,出现的滑块看起来不太好。我认为这与我在HTML中指定它们的方式有关(也许和样式/css有关?) 代码如下: ui <- pageWithSidebar( headerPanel("test"), sidebarPanel( helpText('these sliders do not look good:') ), mainPanel(uiOutput('slider')) ) server

我想在我的服务器中生成滑块(因为我需要的滑块数量取决于其他输入)。正如下面的代码和图片所示,出现的滑块看起来不太好。我认为这与我在HTML中指定它们的方式有关(也许和样式/css有关?)

代码如下:

ui <- pageWithSidebar(
headerPanel("test"),
sidebarPanel(
helpText('these sliders do not look good:')  
),

mainPanel(uiOutput('slider'))
)

server <- function(input,output, session){  

output$slider <- renderTable({  
inputs <- paste0("<input id='Sl_C", 1:2, "' class='jslider-pointer jslider-pointer-to'   type = 'range' value='c(0,20)' min='0' max='100'>")  

matrix <- data.frame(inputs)   
},sanitize.text.function = function(x) x)

}

runApp(list(ui=ui,server=server))

ui这里有一种实现多滑块输入的方法

library(shiny)
multiSliders = function(n, ...){
  sliders = lapply(1:n, function(i){
    sliderInput(paste0('slider-', i),  paste('Slider', i), ...)
  })
  paste_all = function(...) paste(..., collapse = '\n')
  HTML(do.call('paste_all', sliders))
}

runApp(list(
  ui = pageWithSidebar(
    headerPanel('Multiple Sliders'),
    sidebarPanel(
      sliderInput('slider-0', 'Slider0', 0, 10, 4),
      multiSliders(2, 0, 10, 4)
    ),
    mainPanel()
  ),
  server = function(input, output){

  }

))

Shiny有自己的
sliderInput
,它看起来非常漂亮。您使用
jSlider
的原因是什么?只是我需要创建许多滑块,并且需要为它们提供不同的id。出于这个原因,我考虑使用paste0()并在HMTL中创建。但是,有没有其他方法可以在服务器中生成具有不同ID(以及可能的值)的不同滑块?很多感谢,我想我已经找到了一种方法,基于以下帖子:。很抱歉重复这个问题,我不知道为什么我没有尽早找到它。实际上,我需要使用html的原因是将它们嵌入到矩阵中。如果我使用输入,我不确定我是否理解你的问题。你可以发布一个链接到你正在尝试的代码,这会给你带来这些错误吗?嗨,我在这里发布了这个问题嗨Ramnath(谢谢你的帮助)。我已经找到了答案,并在上面的链接中我的问题之后发布了它。干杯