Я хочу получить активное имя табуляции. Я знаю, что это возможно, используя параметр id в sidebarmenu, а затем вызвать его с помощью ввода $ id на сервере. Я не могу использовать эту функцию, так как у меня есть настроенная боковая панель, которая не возвращает название выбранной (или активной) вкладки. Поэтому я хочу решить это, используя javascript. Я попробовал это с помощью JS $('.tab-content').find('.active').attr('data-value')
, но он не работает должным образом.
library(shiny)
library(shinydashboard)
library(shinyjs)
jscode <- "shinyjs.gettab = function () {
$('.tab-content').find('.active').attr('data-value')
}"
ui <- dashboardPage(
dashboardHeader(title = "Basic Use of JS"),
dashboardSidebar(
sidebarMenu(
menuItem(
text = "HOME",
tabName = "home",
icon = icon("home")
),
menuItem(
text = "MAP",
tabName = "map",
icon = icon("map")
)
)),
dashboardBody(
useShinyjs(),
extendShinyjs(text = jscode)
))
server = function(input, output) {
observe({ print(js$gettab()) })
}
runApp(list(ui = ui, server = server), launch.browser =T)