如何使用 jquery 时间选择器从输入文本框设置全日历中的开始时间和结束时间
How to set start time and end time in fullcalendar from input textboxes using jquery timepicker
在我的模式中,我有两个输入文本框 startTime 和 endTime 使用 jquery timepicker
我可以将事件保留在从 jquery ui 日历中选择的正确日期,但是如何从开始时间和结束时间获取值,然后在事件中设置这些值全日历?
我知道如何获取这些输入中的值,例如$('#startTime').val() 但堆叠在那里以将其设置为完整日历的开始时间。
下面是我的代码:
function setTimeValues(x,y)
{
var startHour = parseInt( $('#startTime').val());
var endHour = parseInt($('#endTime').val());
//x = moment(x)
// .set({ hour: parseInt(_startHour), minute: parseInt(_startMinutes), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
// .toDate();
// y = moment(y)
// .set({ hour: parseInt(_endHour), minute: parseInt(_endMinute), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
// .toDate();
$("#calendar").fullCalendar('renderEvent',
{
title: $('#CustomerFullName :selected').text(),
description: $('#description').val(),
start: x,
end: y,
allDay: false
},
true)
谢谢!
尝试按以下格式设置日期yyyy-mm-dd
,然后按以下格式设置时间选择器:
$(document).ready(function(){
//init
$('#startTime').timepicker({ timeFormat: 'H:i' });
$('#endTime').timepicker({ timeFormat: 'H:i' });
});
然后在 start
& end
变量使用:
start: x + "T" + startHour + ":00",
end: y + "T" + endHour + ":00",
并且不要忘记从开始和结束时间中删除 parseInt
,因为您只需要格式化文本
我终于找到了使用 javascript 日期函数实例化并附加输入元素中的实际值的解决方案。
下面是代码
var startHour = $('#startTime').val();
var endHour = $('#endTime').val();
var s = new Date("April 9, 2016 " + startHour)
var e = new Date("April 9, 2016 " + endtHour)
然后,使用 moment js 设置开始日期和结束日期的日期、小时和分钟
x = moment(x)
.set({ hour: parseInt(s.getHours() - 8), minute: parseInt(s.getMinutes()), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
.toDate();
y = moment(y)
.set({ hour: parseInt(e.getHours() - 8), minute: parseInt(e.getMinutes()), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
.toDate();
如您所见,我减去 8 是因为出于某种原因,全日历总是从输入元素 jquery timepicker 的 Hour 初始值加上 8,所以我减去 8。
全日历代码
$("#calendar").fullCalendar('renderEvent',
{
title: $('#CustomerFullName :selected').text(),
description: $('#description').val(),
start: x,
end: y,
allDay: false
},
在我的模式中,我有两个输入文本框 startTime 和 endTime 使用 jquery timepicker
我可以将事件保留在从 jquery ui 日历中选择的正确日期,但是如何从开始时间和结束时间获取值,然后在事件中设置这些值全日历?
我知道如何获取这些输入中的值,例如$('#startTime').val() 但堆叠在那里以将其设置为完整日历的开始时间。
下面是我的代码:
function setTimeValues(x,y)
{
var startHour = parseInt( $('#startTime').val());
var endHour = parseInt($('#endTime').val());
//x = moment(x)
// .set({ hour: parseInt(_startHour), minute: parseInt(_startMinutes), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
// .toDate();
// y = moment(y)
// .set({ hour: parseInt(_endHour), minute: parseInt(_endMinute), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
// .toDate();
$("#calendar").fullCalendar('renderEvent',
{
title: $('#CustomerFullName :selected').text(),
description: $('#description').val(),
start: x,
end: y,
allDay: false
},
true)
谢谢!
尝试按以下格式设置日期yyyy-mm-dd
,然后按以下格式设置时间选择器:
$(document).ready(function(){
//init
$('#startTime').timepicker({ timeFormat: 'H:i' });
$('#endTime').timepicker({ timeFormat: 'H:i' });
});
然后在 start
& end
变量使用:
start: x + "T" + startHour + ":00",
end: y + "T" + endHour + ":00",
并且不要忘记从开始和结束时间中删除 parseInt
,因为您只需要格式化文本
我终于找到了使用 javascript 日期函数实例化并附加输入元素中的实际值的解决方案。 下面是代码
var startHour = $('#startTime').val();
var endHour = $('#endTime').val();
var s = new Date("April 9, 2016 " + startHour)
var e = new Date("April 9, 2016 " + endtHour)
然后,使用 moment js 设置开始日期和结束日期的日期、小时和分钟
x = moment(x)
.set({ hour: parseInt(s.getHours() - 8), minute: parseInt(s.getMinutes()), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
.toDate();
y = moment(y)
.set({ hour: parseInt(e.getHours() - 8), minute: parseInt(e.getMinutes()), date: parseInt(_day), month: parseInt(_month), year: parseInt(_year) })
.toDate();
如您所见,我减去 8 是因为出于某种原因,全日历总是从输入元素 jquery timepicker 的 Hour 初始值加上 8,所以我减去 8。
全日历代码
$("#calendar").fullCalendar('renderEvent',
{
title: $('#CustomerFullName :selected').text(),
description: $('#description').val(),
start: x,
end: y,
allDay: false
},