Я пытаюсь написать функцию javascript, чтобы расширить демонстрацию демонстрационного экрана R <. Я хотел бы, чтобы пользователь мог ввести число, нажав кнопку действия и нажав кнопку ввода, когда они выбрали форму ввода номера. Код для ui.R:
shinyUI(pageWithSidebar(
headerPanel("actionButton test"),
sidebarPanel(
tags$head(tags$script(src = "enter_button.js")),
numericInput("number", "N:", min = 0, max = 100, value = 50),
br(),
actionButton("goButton", "Go!"),
p("Click the button to update the value displayed in the main panel.")
),
mainPanel(
verbatimTextOutput("nText")
)
))
и server.R:
shinyServer(function(input, output) {
ntext <- eventReactive(input$goButton, {
input$number
})
output$nText <- renderText({
paste(ntext(), input$goButton)
})
})
Я включил следующий javascript в файл с именем enter_button.js в папке www/
$("#number").keyup(function(event){
if(event.keyCode == 13){
$("#goButton").click();
}
});
Однако, когда я запускаю приложение, выберите форму ввода номера и нажмите кнопку действия, чтобы не активировать его, но он увеличивается, если я его нажму. В качестве альтернативы, я также проверил, как просто нажать кнопку ввода в любом месте документа:
$(document).keyup(function(event){
if(event.keyCode == 13){
$("#goButton").click();
}
});
и это сработало, поэтому я подозреваю, что jQuery не может найти элемент #number. Спасибо заранее!