запросить произвольный элемент html, например, чтобы узнать, отключен ли он, с блестящим - PullRequest
0 голосов
/ 08 февраля 2020

Может ли блестящий js сделать что-то вроде if(is_disabled("#my_element_id")) do_something()? Я хотел бы видеть, отключен ли указанный элемент c HTML (блестящим js или другим способом), прежде чем делать с ним что-то еще.

1 Ответ

1 голос
/ 08 февраля 2020

Там нет такой функции. Ответ зависит от того, что вы хотите именно. Вот что может помочь:

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)
...