在R Shiny中更改selectInput的背景颜色

问题描述:

我的示例代码:

library(shiny)

server <- function(input, output) {
}

ui <- fluidPage(
  br(),
  selectInput("select1", "Choose: ", c("Alt1.1", "Alt1.2"), selected = c("Alt1.1"), selectize = FALSE, multiple = TRUE),
  br(),
  selectInput("select2", "Choose: ", c("Alt2.1", "Alt2.2"), selected = c("Alt2.1"), selectize = FALSE, multiple = TRUE)
)

shinyApp(ui = ui, server = server)

如何更改代码,以使小部件的背景颜色对于 select1 是红色,对于 select2 是蓝色?

How do I have to change the code so that the background color of the widgets is red for select1 and blue for select2?

我尝试过:

div(selectInput("select1", "Choose: ", c("Alt1.1", "Alt1.2"), selected = c("Alt1.1"), selectize = FALSE, multiple = TRUE), style = "background-color: red")

但这不是我想要的!相反,我希望选项的背景为红色!

But this is not what I am looking for! Instead I want the background of the options to be red!

根据以下评论的要求进行编辑

Edited as requested in the comments below

您可以通过样式标签添加CSS,如下所示:

You can add CSS through style tags as follows:

library(shiny)

server <- function(input, output) {
}

ui <- fluidPage(
  br(),
  tags$style("#select1 {border: 2px solid #dd4b39;}"),
  selectInput("select1", "Choose: ", c("Alt1.1", "Alt1.2"), selected = c("Alt1.1"), selectize = FALSE, multiple = TRUE),
  br(),
  tags$style("#select2 {background-color:blue;}"),
  selectInput("select2", "Choose: ", c("Alt2.1", "Alt2.2"), selected = c("Alt2.1"), selectize = FALSE, multiple = TRUE)
)

shinyApp(ui = ui, server = server)