Would wish to add user input as well in addition to what has been already listed. Then I'm using a function to save the data entered to DB.
library(shiny)
ui <- fluidPage(
titlePanel("Select or add Data"),
sidebarLayout(
sidebarPanel(
selectInput("selectedregion","Select Region",multiple = FALSE,c("North", "East", "West"))
),
mainPanel()
)
)
server <- function(input, output) { }
shinyApp(ui = ui, server = server)
I wish to give option to the user to add "south" which is in addition to the data listed.
CodePudding user response:
The selectInput does not support user-defined entries but it's "companion" the selectizeInput does. With the argument options = list(create = TRUE) you enable that behaviour. Now you still need a listener in the server. An observercan do that. All you need to do now is to add your own code to add new values to the data base.
library(shiny)
ui <- fluidPage(
titlePanel("Select or add Data"),
sidebarLayout(
sidebarPanel(
selectizeInput("selectedregion", "Select Region",
multiple = FALSE, c("North", "East", "West"),
options = list(create = TRUE))
),
mainPanel()
)
)
server <- function(input, output) {
observe({
req(input$selectedregion) # explicitly specify the dependency
print(input$selectedregion) # This line is for testing purpose only
# The newly added value is the selected value. If you want to store
# those in a data base, add that code here.
})
}
shinyApp(ui = ui, server = server)


