den*_*ero 5 javascript jquery date datepicker momentjs
我在Air Datepicker中选择了一个日期,并尝试将今天的日期与所选日期进行比较,以确定天数的差异.所以,例如,如果今天是2016年11月12日,我选择2016年12月20日,我想得到差异,即9.
我一直遇到以下错误:"end.diff不是函数".
我已经将以下代码删除到了基本要素:
HTML
<form>
<input id="datereq" name="datereq" type="text" class="dateReq" value="" />
</form>
<div id="selected"></div>
Run Code Online (Sandbox Code Playgroud)
JQUERY
var date = new Date(),
disabledDays = [0, 6];
$('.dateReq').datepicker({
dateFormat: 'mm/dd/yyyy',
minDate: new Date(),
language: 'en',
autoClose: true,
onRenderCell: function(date, cellType) {
if (cellType == 'day') {
var day = date.getDay(),
isDisabled = disabledDays.indexOf(day) != -1;
return {
disabled: isDisabled
};
}
},
// Display Appropriate Order Type Options
onSelect: function onSelect(fd, date) {
var now = moment(new Date()).format('MM/DD/YYYY'),
end = fd,
days = end.diff(now, 'days');
$('#selected').html('now:' + now + 'end:' + end + 'diff:' + days);
//console.log('end:' + end);
//console.log('diff:' + days);
}
});
Run Code Online (Sandbox Code Playgroud)
小提琴
该diff功能仅适用于时刻对象.试试这个:
var now = moment(new Date()),
end = moment(fd),
days = end.diff(now, 'days');
Run Code Online (Sandbox Code Playgroud)
小智 8
onSelect函数的第一个参数是作为文本的日期 - 而不是时刻对象.尝试在表示所选日期的时刻对象上调用diff函数,它将起作用.此外,您还必须指定变量"end",这可能是您的"fd".看看:https://jsfiddle.net/t9suf65p/
// Initialize Datepicker
var date = new Date(),
disabledDays = [0, 6];
$('.dateReq').datepicker({
dateFormat: 'mm/dd/yyyy',
minDate: new Date(),
language: 'en',
autoClose: true,
onRenderCell: function (date, cellType) {
if (cellType == 'day') {
var day = date.getDay(),
isDisabled = disabledDays.indexOf(day) != -1;
return {
disabled: isDisabled
};
}
},
// Display Appropriate Order Type Options
onSelect: function onSelect(fd, date) {
var selectedDate = moment(fd, 'MM/DD/YYYY');
var now = moment(new Date());
var days = selectedDate.diff(now, 'days');
$('#selected').html('now: ' + now.format('MM/DD/YYYY') + 'end: ' + selectedDate.format('MM/DD/YYYY') + ' diff: ' + days);
//console.log('end:' + end);
//console.log('diff:' + days);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13604 次 |
| 最近记录: |