我已经实现了语义UI来使用基本上很棒并且可以很好地工作的日历。唯一的问题是日历在模态中,当它触发时,模态看起来像这样:https://i.stack.imgur.com/wfb7k.png
我希望将calender弹出,而我不必单击"今日"按钮即可显示日历。
我已经阅读了必须对观察做些事情,但是我不知道如何更改该代码。/40)
这是我的JS功能:
function devicesForCalendar(type) {
$('#openCalView').click(function () {
var valueArray = [];
$('.check:checked').each(function () {
valueArray.push($(this).val());
});
if (valueArray.length == 0) {
alert("No devices selected!");
$('#calendarInsert').fullCalendar('destroy');
}
else {
$.ajax({
url: "db-functions.php",
method: "POST",
data: { data: valueArray, change: 'chosenCalendar', type: type },
success: function (data) {
var events = JSON.parse(data);
$('#calendarInsert').fullCalendar('destroy');
$('#calendarInsert').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
defaultDate: new Date(),
navLinks: true, // can click day/week names to navigate views
editable: true,
eventLimit: true, // allow "more" link when too many events
events: events
});
}
});
}
});
}
如果您要问如何在模态之外获取日历,则必须发布HTML代码,以便我们知道日历设计如何工作。要解决不必单击Today
按钮显示日历的问题,该问题在于您的defaultDate
变量分配。您将其设置为等于Date
对象,但最终会出现" SAT 2019年3月9日SAT 12:08:39 GMT-0500(东部标准时间)"的格式。它需要以" YYYY-MM-DD"标准ISO格式处于" YYYY-MM-DD"。为此,您可以简单地输入今天的日期,也可以这样做:
var d = new Date();
var e = d.getMonth();
if (e < 10) {
var e2 = ("0" + e).slice(-2);
}
var f = d.getDate();
if (f < 10) {
var f2 = ("0" + f).slice(-2);
}
var g = d.getFullYear() + "-" + e2 + "-" + f2;
// Later in the code
defaultDate: g,
注意我使用slice()
方法将领先的零放在单个数字上,例如Date.getMonth()
和Date.getDate()
返回数字,例如2和7。