【问题标题】:How do I output the min and max values in jQRangeSlider?如何在 jQRangeSlider 中输出最小值和最大值?
【发布时间】:2017-07-10 23:23:12
【问题描述】:

我正在使用 jQRangeSlider 插件来创建日期范围滑块。我正在尝试使用此函数输出最大值和最小值:

var dateSliderMax = $("#slider").dateRangeSlider("max");
console.log(dateSliderMax.toString());

返回以下字符串:

2011 年 2 月 11 日星期五 00:00:00 GMT-0500(东部标准时间)

我想以20110211jsFiddle的格式将日期输出到控制台。我怎样才能做到这一点?

【问题讨论】:

  • "20110211" 不是定义日期格式的合理方式,您的意思是 YYYYMMDD 吗? dateSliderMax 的值是多少?它是一个 Date 对象,字符串,...?

标签: javascript jquery date jquery-ui


【解决方案1】:

你可以把日期转换成 JavaScript 日期,然后以 YYYYMMDD 格式输出。

var date = new Date(dateSliderMax);
alert((date.getFullYear().toString() + (date.getMonth() + 1)) + date.getDate());

要使月份和日期始终采用两位数格式,请以“0”开头,并且仅当月/日小于两位数时才保留它。

"0" + (date.getMonth() + 1)).slice(-2)

在这个jsFiddle看到它

【讨论】:

  • 假设我有一个表单,点击提交后如何获取该格式的最大值。该值应对应于滑块所在的位置
  • 您可以在提交时完成。要获取当前滑块位置,请使用dateRangeSlider("max") / dateRangeSlider("min"),然后将其转换为 JavaScript 日期对象进行格式化。见here
  • 非常感谢,但有没有办法编辑边界?我正在尝试按照文档对其进行编辑,但由于某种原因它无法正常工作
  • 除了边界之外,您可能还想使用默认值。还要记住,在 JavaScript 中,月份从 0 开始。您可能会发现 this post 很有帮助。
【解决方案2】:

您可以将 Javascript Date ObjectgetFullYear() 之类的方法(或 MomentJS 之类的库)一起使用:

var dateSliderMax = $("#slider").dateRangeSlider("max");
var date = new Date(dateSliderMax.toString());
var year = date.getFullYear();
var month = date.getMonth() + 1;
if (month < 10) {
  month = '0'+month;
}
var day = date.getDate();
console.log(''+year+month+day);

this updated fiddle 或下面的 sn-p 中查看它的演示。

$(document).ready(function() {
  $("#slider").dateRangeSlider();
  var dateSliderMax = $("#slider").dateRangeSlider("max");
  var date = new Date(dateSliderMax.toString());
  var year = date.getFullYear();
  var month = date.getMonth() + 1;
  if (month < 10) {
    month = '0' + month;
  }
  var day = date.getDate();
  console.log('' + year + month + day);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.8.18/jquery-ui.min.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRangeSliderMouseTouch.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRangeSliderDraggable.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRangeSliderBar.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRangeSliderHandle.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRangeSliderLabel.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRangeSlider.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQDateRangeSliderHandle.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQDateRangeSlider.js"></script>
<script src="https://ghusse.github.io/jQRangeSlider/stable/jQRuler.js"></script>
<link href="https://ghusse.github.io/jQRangeSlider/stable/css/iThing.css" rel="stylesheet" />
<article style="padding:50px 20px">

  <div id="slider"></div>

</article>

【讨论】:

  • 假设我有一个表单,点击提交后如何获取该格式的最大值。该值应对应于滑块所在的位置
  • 我看到 Chava 回答了您在评论他/她的回答时发布的相同问题。我建议你 ask (i.e. post) a subsequent question 而不是使用 cmets。
猜你喜欢
  • 2012-10-09
  • 1970-01-01
  • 2017-06-26
  • 2019-06-23
  • 2020-08-27
  • 2018-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多