【发布时间】:2016-10-21 07:56:41
【问题描述】:
我有 10 个“编辑”操作按钮。在每个“编辑”操作按钮上出现三个 selectInputs。单击 selectInputs 下方的“保存”按钮后,我想记住选定的值。如果我转到第 2 行 -> 单击“编辑”-> 选择值 -> 单击“保存”并返回第 1 行,它不记得第 1 行中先前选择的值。
所以我想对“保存”按钮进行两个操作:
- 存储给定“行”的选定值(因此,当我再次单击同一个编辑按钮时,我将看到以前选择的值)
-
在我点击保存按钮后,让所有 selectInputs 消失
图书馆(闪亮)
ui <- shinyUI(fluidPage( titlePanel("Update Select Inputs"), mainPanel( tags$head(tags$script(HTML("$(document).on('click', '.needed', function () { Shiny.onInputChange('last_btn',this.id); });"))), column(width = 6, uiOutput('ValuesAndButtons')), column(width = 6,uiOutput('Details')) ) ) ) server <- shinyServer(function(input, output) { output$ValuesAndButtons <- renderUI({ lapply( c(1:10), function(i){ fluidRow( column( width = 4, tags$span(i) ), column( width = 3, tags$button( type = "button", id = paste0('ActionButton', i), class="btn action-button needed", "Edit" ) ) ) } ) }) output$Details <- renderUI ({ req(input$last_btn) fluidRow( lapply( c(1:3), function(i){ fluidRow( fluidRow( column( width = 5, tags$span(i) ), column( width = 5, selectInput( paste0("Details", i), label = NULL, choices = c("","a","b","c"), selected = "" ) ) ) ) }), fluidRow( tags$button( type = "button", id = "Save", class = "btn action-button", href = "#", "Save" ) ) ) }) }) # Run the application shinyApp(ui = ui, server = server)
【问题讨论】:
-
点击“保存”操作按钮后,我想更新所有选择输入中的选定值 - 它们应该在“保存”之前显示最后选择的值。基本上我有很多actionButtons(称为'mainButtonX'),上面显示了一些selectInputs和额外的'Save'按钮。当我单击 mainButtonX 并在 selectInputs 中选择一些值并单击另一个 mainButton 并再次返回时,我选择的值为 null - 它不会像我希望的那样动态更新或更新保存按钮。
-
我更新了我的问题和代码。
-
您想将值存储在某个地方还是简单地将其隐藏并显示?
-
我想存储选定的值。