javascript – Shiny Slider逐月输入

前端之家收集整理的这篇文章主要介绍了javascript – Shiny Slider逐月输入前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在写一个闪亮的,并想要一个日期滑块.我的数据中的日期是每月一次,我想一次一个月前进.滑块输入的 docs表示步长值为秒或天,具体取决于最小/最大参数类型.目前我有:
sliderInput("slider","Time",min=as.Date("2005-01-01"),max=as.Date("2014-12-01"),value=as.Date("2005-01-01"),step = 30,...)

我希望能够逐月而不是白天,但似乎不可能从他们给我的东西.有没有我可以添加的js片段会给我这个功能

澄清注意:我已阅读此功能的文档,并且据我所知,没有基本功能.测试时,时间格式参数仅更改标签而不是值.我看过一些帖子可以访问某些小部件的值,并想知道这是否可行.例如)

<script type="text/javascript">
    $(document).ready(function() {
    var slider = $("#slider").slider();
 // override the default "nice" function.
    slider.nice = function(value) {
    var ref_date = new Date("2005-01-01");
 // each slider step is 1 day,translating to 24 * 3600 * 1000 milliseconds
    var slider_date = new Date(ref_date.getTime() + value * 24 * 3600 * 1000);
                          return [slider_date.getUTCFullYear(),slider_date.getUTCMonth() + 1,slider_date.getUTCDate()].join("-");
                          }
                          })

解决方法

sliderInput中有一个timeFormat函数.有关更多信息,请访问 Slider Input Widget.

编辑:

为了得到日期并在以后的分析中使用它们,很多功劳归功于这个问题First day of the month from a POSIXct date time using lubridate和Roland提供的功能.

rm(list=ls())
library(shiny)
monthStart <- function(x) {
  x <- as.POSIXlt(x)
  x$mday <- 1
  as.Date(x)
}
ui <- basicPage(sliderInput("slider",min = as.Date("2010-01-01"),max =as.Date("2014-12-01"),value=as.Date("2014-12-01"),timeFormat="%b %Y"),textOutput("SliderText")
                )
server <- shinyServer(function(input,output,session){

  sliderMonth <- reactiveValues()
  observe({
    full.date <- as.POSIXct(input$slider,tz="GMT")
    sliderMonth$Month <- as.character(monthStart(full.date))
  })
  output$SliderText <- renderText({sliderMonth$Month})
})
shinyApp(ui = ui,server = server)

猜你在找的JavaScript相关文章