繁体   English   中英

查询任意 html 元素,例如查看它是否被禁用,使用shinyjs

[英]query an arbitrary html element, e.g. to see if it is disabled, with shinyjs

Shinyjs 可以做类似if(is_disabled("#my_element_id")) do_something()吗? 我希望能够在对其进行其他操作之前查看特定的 HTML 元素是否被禁用(通过shinyjs 或其他方式)。

没有这个功能。 答案取决于您究竟想要什么。 这里有一些可以帮助的东西:

library(shiny)
library(shinyjs)

jsCode <- 'shinyjs.isDisabled = function(params) {
  var el = $("#radiobtns");
  Shiny.setInputValue("disabled", el.prop("disabled"));
}' 

ui <- fluidPage(
  useShinyjs(),
  extendShinyjs(text = jsCode, functions = "isDisabled"),
  actionButton("button", "Disable radio buttons"),
  radioButtons("radiobtns", "Radio buttons", c("Yes", "No"))
)

server <- function(input, output) {

  observeEvent(input$button, {
    toggleState("radiobtns")
    js$isDisabled()
  })

  observeEvent(input$disabled, {
    if(input$disabled){
      cat("disabled\n")
    }else{
      cat("enabled\n")
    }
  })

}

shinyApp(ui = ui, server = server)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM