У меня есть следующий скрипт, который нацелен на печать строки кнопки или поля, на которые был нажат / отмечен флажок. Небольшой JavaScript-код для флажка (вдохновленный другим SO-ответом) работает просто отлично. Но так как я абсолютный новичок в javascript, я не могу найти рабочий аналог для actionButton.
library(DT)
library(glue)
ui <- fluidPage(
uiOutput("modal"),
fluidRow(
verbatimTextOutput("value1"),
verbatimTextOutput("value2"),
column(12,
DT::dataTableOutput('table'), tags$script(HTML('$(document).on("click", "input", function () {
var checkboxes = document.getElementsByName("selected");
var checkboxesChecked = [];
for (var i=0; i<checkboxes.length; i++) {
if (checkboxes[i].checked) {
checkboxesChecked.push(checkboxes[i].value);
}
}
Shiny.onInputChange("checked_rows",checkboxesChecked);
var buttons = document.getElementsByName("modified");
var buttonsPressed = [];
for (var i=0; i<buttons.length; i++) {
if (buttons[i].click) {
buttonsPressed.push(buttons[i].value);
}
}
Shiny.onInputChange("pressed_rows",buttonsPressed);
})
'))
)))
server <- function(input, output, session) {
df <- reactiveValues( data = data.frame(rownum = 1:5, stringsAsFactors = FALSE))
output$value1 <- renderPrint({ input$checked_rows })
output$value2 <- renderPrint({input$pressed_rows})
output$table <- DT::renderDataTable({
df$data[["Select"]] <- glue::glue('<input type="checkbox" name="selected" value="{1:nrow(df$data)}"><br>')
df$data[["Modify"]] <- glue::glue('<input type="button" name="modified" value="{1:nrow(df$data)}"><br>')
DT::datatable(df$data,rownames=F, escape = FALSE, select = "none")
})
}
shinyApp(ui, server)
Любая помощь с благодарностью!