获取活动的TabName

问题描述 投票:1回答:1

我想获得有效的标签名。我知道可以在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)
shiny shinyjs
1个回答
0
投票

只需使用$('.tab-content >.active').attr('data-value')

© www.soinside.com 2019 - 2024. All rights reserved.