Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS日期和jQueryUI滑块很奇怪_Javascript_Jquery_Date_Jquery Ui - Fatal编程技术网

Javascript JS日期和jQueryUI滑块很奇怪

Javascript JS日期和jQueryUI滑块很奇怪,javascript,jquery,date,jquery-ui,Javascript,Jquery,Date,Jquery Ui,我正在jQuery UI中创建一个范围滑块,该滑块的日期从2013年12月3日到今天 我需要的范围,以便能够选择这两者之间的每一个日期 然而,每当我尝试使用滑块更改日期时,它的行为非常奇怪 我使用滑块选择日期,然后通过将日期添加到开始日期来创建新日期 $document.readyfunction{ var startDate=新日期2013年12月3日; var endDate=新日期; var timeDiff=Math.absendDate.getTime-startDate.getTi

我正在jQuery UI中创建一个范围滑块,该滑块的日期从2013年12月3日到今天

我需要的范围,以便能够选择这两者之间的每一个日期

然而,每当我尝试使用滑块更改日期时,它的行为非常奇怪

我使用滑块选择日期,然后通过将日期添加到开始日期来创建新日期

$document.readyfunction{ var startDate=新日期2013年12月3日; var endDate=新日期; var timeDiff=Math.absendDate.getTime-startDate.getTime; var diffDays=Math.ceiltimeDiff/1000*3600*24; var fromDate=新日期2013年12月3日; var toDate=新日期; $RangeSloider.slider{ 范围:对, 分:0,, 马克斯:两天, 动画:对, 幻灯片:功能事件,用户界面{ fromDate.setDatestartDate.getDate+ui.Value[0]; toDate.setDatestartDate.getDate+ui.values[1]; $rangeFromDate.htmlfromDate.getFullYear+-+fromDate.getMonth+1+-+fromDate.getDate; $rangeToDate.htmltoDate.getFullYear+-+toDate.getMonth+1+-+toDate.getDate; } }; }; 范围滑块{ 利润率:20px; 边缘顶部:100px; } 范围{ 浮动:左; } 兰吉托{ 浮动:对; } 起始日期:2013-12-3
至:2016-12-12添加到选定日期输入:


在选定日期输入中添加:


每次都必须使用fromDate和toDate的局部变量来重新初始化。用这个

JS:


每次都必须使用fromDate和toDate的局部变量来重新初始化。用这个

JS:


我需要有一个范围,以便我可以选择一个时间框架。我还想在ISO格式的日期供以后使用您的范围是您的开始和结束日期。只需格式化日期,var isoDate=result.getFullYear+-+result.getMonth+1+-+result.getDate//设置金额字段$amount.valisoDate;要得到你想要的。我需要有一个范围,以便我可以选择一个时间框架。我还想在ISO格式的日期供以后使用您的范围是您的开始和结束日期。只需格式化日期,var isoDate=result.getFullYear+-+result.getMonth+1+-+result.getDate//设置金额字段$amount.valisoDate;为了得到你想要的结果,我只是按照民进党的答案做了,现在它起作用了。我只是按照民进党的答案做了,现在它起作用了
<span id="rangeFrom">From: <span id="rangeFromDate">2013-12-3</span></span>
<span id="rangeTo">To: <span id="rangeToDate">2016-12-12</span></span>
<!--- SHOW DATE HERE -->
<p>
  <label for="amount">Selected Date:</label>
  <input type="text" id="amount" readonly style="border:0; color:#f6931f; font-weight:bold;" placeholder="Not Selected">
</p>
$(document).ready(function() {
  //months start at 0, so 11 is Dec, not 12
  //DEFINE YOUR START AND END DATE RANGE
  //TAKES START DATE AND END DATE CALCULATES DAYS
  //IN BETWEEN TO SET THE MAX, 
  //SLIDER THEN INCREMENTS BY DAYS
    var startDate = new Date(2013, 11, 3);
    var endDate = new Date(2016,11,12);

    var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
    var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));

    $("#rangeSlider").slider({
    //set our ranges here, min to max days, calculated above
    //with diffdays
    //MIN AND MAX ARE DAYS! SO min 0 is 0 DAYS from the start date
    //MAX IS  #of days between start and end so start date + max days =
    //END DATE
        range: "max",
        min: 0,
        max: diffDays,
        animate: true,

       slide: function (event, ui) {
         //set our starting point to add days to it.
         //max is taken care of above in max: diffdays
         var result = new Date(2013, 11, 3);
         result.setDate(result.getDate() + ui.value);
         //format the date
         var isoDate = result.getFullYear() + "-" + (result.getMonth() + 1) + "-" + result.getDate();
         //set the amount field
         $( "#amount" ).val(isoDate);
      }
   });  
});
var startDate = new Date(2013, 12, 3);
            var endDate = new Date();
            var timeDiff = Math.abs(endDate.getTime() - startDate.getTime());
            var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));
            $("#rangeSlider").slider({
                range: true,
                min: 0,
                max: diffDays,
                step: 1,
                animate: true,
                slide: function (event, ui) {
                    var fromDate = new Date(2013, 12, 3);
                    var toDate = new Date();
                    fromDate.setDate(startDate.getDate() + parseInt(ui.values[0]));
                    toDate.setDate(startDate.getDate() + parseInt(ui.values[1]));

                    $("#rangeFromDate").text(fromDate.getFullYear() + "-" + (fromDate.getMonth() + 1) + "-" + fromDate.getDate());
                    $("#rangeToDate").text(toDate.getFullYear() + "-" + (toDate.getMonth() + 1) + "-" + toDate.getDate());
                }
            });