JavaScriptをshinyjsで使用すると、各チェックボックスにIDを追加できます。
これはどのように行うことができるかの基本的な例です。 checkboxGroupInputを動的に作成する場合は、checkboxGroupInputを作成した後にJavaScriptを実行してください。
library(shiny)
library(shinyjs)
ui <- fluidPage(
shinyjs::useShinyjs(),
checkboxGroupInput("variable", "Variables to show:", names(iris)),
actionButton("bt1", "Add Style")
)
server <- function(input, output, session) {
# add an ID to each checkbox
shinyjs::runjs(HTML('
var checkboxes = $("#variable").find(".checkbox span");
for(var i = 0; i < checkboxes.length; i++) {
checkboxes[i].setAttribute("id", "checkbox_" + i);
}
'))
observeEvent(input$bt1, {
# add a custom stytle to 3er checkbox ("checkbox_2")
shinyjs::runjs('$("#checkbox_2").attr("style", "background-color: #FE0004;")')
# you can also use shinyjs::addClass()
})
}
shinyApp(ui, server)