#javascript #shiny
#javascript #блестящий
Вопрос:
Я пытаюсь создать блестящее приложение, в котором, если значение textOutput изменяется выше 20, цвет текстового вывода изменяется на красный, иначе он остается синим. Я не могу получить доступ к javascript для выполнения такого стиля. Кроме того, я был бы признателен, если бы кто-нибудь мог сказать мне, возможно ли изменить формат чисел в numericInput, например, для 10000, 2,4% и т.д., Чтобы числа отображались в этом конкретном формате. Я видел другие блестящие примеры, где формат был изменен для ввода текста, но мне это не нужно.
Ниже приведен простой код, который я пытался написать Java в shiny.
library(shiny)
ui <- fluidPage(
# Can you change numeric format by using javascript?
numericInput('num', "Length", value=19),
textOutput("text"),
tags$script(HTML("
/*Tried getting the textoutput value in javascript!!*/
var trigger = document.getElementById('text').innerHTML;
/* Tried writing that when value of text change above 20
Then the color of the text also changes
based on a threshold value condition*/
trigger.addEventListener('change', function(){
var target = document.getElementById('text');
var color = parseInt(trigger) > 20 ? 'red' : 'blue';
target.style.color = color;
});
")) # Simply not working!!
)
server <- function(input, output, session) {
output$text <- renderText({
input$num
})
}
shinyApp(ui = ui, server=server)
Заранее спасибо.