2017-03-16 2 views
0

Ich habe eine absolute Platte in glänzend erstellt. Ich habe auf Senden Schaltfläche und SelectInput Bereich erstellt.Wie Formular auf Senden Schaltfläche in glänzend ausblenden?

selectInput("Customer", "Customer",groupcustomer), 
      submitButton("Submit",icon("refresh")) 

Der obige Code ist in div tag. Ich möchte zusammenbrechen, d. H. Bestimmte div- oder hide-Formulare im submitButton ausblenden. Wie kann ich das machen?

+0

Als eine der möglichen Lösungen: 'observeEvent ('$ ("# divToHide") umschalten();' Eingang $ Senden, shinyjs :: runjs()') –

+0

Danke für Ihre Antwort, löse ich das als, HTML (einfügen ('', submitButton ("Ansicht aktualisieren", Icon ("Aktualisieren")), ' ')) –

+0

Übrigens können wir nicht die Eingabe $ submit verwenden, da submit Text in glänzend ist, keine ID. Wir können SubmitButton keine ID in shiny geben. –

Antwort

0

Im Folgenden wird Ausblenden der Eingabemaske wechseln, wenn die Submit-Taste gedrückt wird:

library(shiny) 
library(shinyjs) 

ui <- basicPage(
    useShinyjs(), 
    tags$div(id="hideme", 
      selectInput("Customer", "Customer", c("bill","bob","bozo")) 
      ), 
    actionButton("doSubmit", "Submit", icon("refresh"), 
       style="color: #fff; background-color: #337ab7; border-color: #2e6da4") 
) 

server <- function(input, output) { 
    observeEvent(input$doSubmit, { 
     toggle("hideme") 
    }) 
} 

shinyApp(ui, server) 

Sie die submitButton mit einem actionButton ersetzt, wie in der Hilfeseite empfohlen und dupliziert den Stil von submitButton.

Die Verwendung von submitButton wird im Allgemeinen zugunsten des vielseitigeren actionButton (siehe Details unten) abgeraten.

Verwandte Themen