I'm trying to have the user enter text into a number of textboxes equal to an earlier input. So I need to put it in a renderUI block. I did this but when I try to type into the input box the new text will only stay for half a second and then it will disappear and the original default text will replace it. I did post some of the code, but the actual program is much larger so I didn't want to post all of it. Thanks for any help.
#Libraries
library(shiny)
library(shinyjs)
library(shinyWidgets)
library(shinyMatrix)
#User interface
ui <- fluidPage(
#Number of treatments input
numericInput("inp1",
"Enter number of treatments:", min =
1, 3),
#Number of outcomes input
numericInput("numoc", "Enter number of outcomes:", min =
1, 3),
uiOutput("oc_names")
)
#Server
server <- function(input, output) {
name_list<-list()
option_vector <- c()
output$oc_names <- renderUI({
k = rep(c(1:input$numoc), times = input$inp1)
for (g in 1:input$numoc) {
option_vector <- append(option_vector, g)
}
mylist3 <-
lapply(1:(input$numoc), function(i, y = k[[i]]) {
pref_identifier <- paste("rank", i, sep = "")
outcome_id <- paste("ocrank", i, sep = "")
if (i == 1) {
pref_name <- paste("Outcome #", y, sep = "")
} else {
}
list(column(
width = 3,
textInput(inputId = outcome_id, label = pref_name, value = pref_name),
))
})
print(name_list)
for (i in 1:input$numoc) {
name_list<-append(name_list, input[[paste("ocrank", i, sep = "")]])
}
print(name_list)
do.call(tagList, unlist(mylist3, recursive = FALSE))
})
}
# Run the application
shinyApp(ui = ui, server = server)