我已经实现了语义UI来使用基本上非常棒的日历,并且它完美地运行。唯一的问题是calend是一个模态,当它被触发时,Modal看起来像这样:https://i.stack.imgur.com/WfB7K.png
我希望日历已经弹出,我不必点击“今天”按钮来显示日历。
我已经阅读了必须对观察做一些事情,但我不知道如何改变它以及在哪里放置那段代码。(https://github.com/mdehoog/Semantic-UI-Calendar/issues/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 Mar 09 2019 12:08:39 GMT-0500(东部标准时间)”的格式。它需要采用“yyyy-mm-dd”标准ISO格式。要做到这一点,你只需输入今天的日期,或者:
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之类的数字。