【问题标题】:Disable keyboard input in daterange shiny在日期范围闪亮中禁用键盘输入
【发布时间】:2018-03-16 14:34:45
【问题描述】:

我想做一件简单的事情,但我找不到办法。我想禁用使用键盘修改日期范围的可能性。如果无法使用键盘修改日期,用户体验会更好。如果你想选择一个 10 个月前的日期,然后按下键盘上的一个键,那么你又回到了当前月份,这令人不安。

这是一个示例代码。

library('shiny')

shinyApp(
  ui = fluidPage(
    fluidRow(
      column(4, 
        dateRangeInput("dates", label = h3("Date range")),
        verbatimTextOutput("datesOut")
      )
    )
  ), 
  server = function(input, output) {
    output$datesOut <- renderPrint({ input$dates })
  }
)

我想让无法使用键盘修改输入。我看到了与此相关的this question,但我不知道如何将onkeydown="return false" 添加到shiny::daterange()

谢谢

【问题讨论】:

    标签: r shiny


    【解决方案1】:

    这是我为感兴趣的人找到的解决方案。

    我只需要添加一点 JavaScript。在选择日期后,我还会关闭日期选择器。

    library('shiny')
    
    shinyApp(
      ui = fluidPage(
        includeScript("code.js"),
        fluidRow(
          column(4, 
                 dateRangeInput("dates", label = h3("Date range")),
                 verbatimTextOutput("datesOut")
          )
        )
      ), 
      server = function(input, output) {
        output$datesOut <- renderPrint({ input$dates })
      }
    )
    

    还有 code.js。

    $(document).ready(function(){
    
      $('#dates input').bsDatepicker({
        autoclose: true
      });
      $("#dates").attr('onkeydown', 'return false');
    });
    

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 2014-05-15
      • 2019-05-13
      • 1970-01-01
      • 2015-05-10
      • 1970-01-01
      • 2020-12-23
      • 1970-01-01
      • 2020-02-03
      相关资源
      最近更新 更多