Javascript JS日期和jQueryUI滑块很奇怪
我正在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-3Javascript 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
至: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());
}
});