yuxu zi
yuxu zi

Reputation: 525

Add bootstrap tooltip to column header in shiny app

I am trying to add tooltips to each column header of the data table, but failed. Could anybody teach me how to do this using jQuery.

Thanks

  shinyApp(
    ui = fluidPage(
      fluidRow(
        tags$head(
          tags$script( src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"),
          tags$script( src = "http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js")
        ),


        column(12,    tableOutput('table')




        )
      )
    ),
    server = function(input, output) {
      output$table <- renderTable(iris)
    }
  )


  # DataTables example
  shinyApp(
    ui = fluidPage(
      fluidRow(
        column(12,
               dataTableOutput('table')
        )
      )
    ),
    server = function(input, output) {
      output$table <- renderDataTable(iris)
      tags$head(tags$script("
        $('table th').each(    function(){ console.log( $(this).text());
                             $(this).attr('data-toggle', 'tooltip')
                            $(this).attr('title', 'example text')
                            $(this).tooltip();
        );




        "))
    }
  )

Upvotes: 0

Views: 1199

Answers (1)

yuxu zi
yuxu zi

Reputation: 525

Add a js function to initComplete solve the problem

output$table <- renderDataTable(iris,
                                  options = list(
                                    pageLength = 5,
                                    initComplete = I("function(settings, json) {alert('Done.');
                                      $('th').each( function(){this.setAttribute( 'title', 'Hihihi' );});  
                                      $('th').tooltip(); 

                                     }")
                                  )

Upvotes: 1

Related Questions