我想获得有效的标签名。我知道可以在sidebarmenu中使用id参数,然后在服务器中使用input $ 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)
只需使用$('.tab-content >.active').attr('data-value')