Я создаю блестящую приборную панель, содержащую данные.В этом Datatable я создал столбец, который содержит кнопки с одинаковым идентификатором 'inf'
(используя параметры columnDefs) и обработал событие кнопок, используя onclick()
, чтобы открыть определенный modalDialog (код ниже).Проблема в том, что, поскольку все мои кнопки имеют одинаковый идентификатор, функция onclick
работает только в одной кнопке (см. Демо ).Так как же я могу заставить все кнопки открывать один и тот же модальный диалог?Или как мне назначить разные идентификаторы для кнопок?
server.R
df = mtcars
df$Description = NA
df = df[,c(12,1,2,3,4,5,6,7,8,9,10,11)]
output$table <- DT::renderDataTable(
df,
options = list( paging = FALSE, scrollY = 354,
initComplete = JS(
"function(settings, json) {",
"$(this.api().table().header()).css({'background-color': 'white', 'color': 'black', 'font-weight' : 'bold'});",
"}"),
columnDefs = list(
list(className = 'dt-center',
targets = 1,
data = NULL,
defaultContent = "<button id='inf' type='button' class='btn btn-default action-button shiny-bound-input'><i class= 'fa fa-question-circle'/></button>"
)
)
),
selection = 'single',
style = 'bootstrap'
)
onclick("inf",{
showModal(
modalDialog( h4(input$table_rows_selected))
)
})