javascript - 如何将变量传递给完整的日历事件?
问题描述
这是我的代码
$(document).ready(function() {
var dates = "{title : 'event1',start : '2018-07-10'},{title : 'event2',start : '2010-07-18'}";
dates = JSON.parse(dates);
alert(dates);
$('#calendar').fullCalendar({
height: 450,
defaultView: 'month',
events: dates
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.css" />
<div id="calendar"></div>
我需要将日期变量传递给完整的日历事件。请帮忙
解决方案
您的 JSON 无效,因为它只是一个对象列表,它们之间没有链接。您可以使用https://jsonlint.com/来验证您的 JSON 字符串。这会导致您在尝试解析它时遇到错误,因为您无法将一系列对象更改为单个变量。您的字段名称和值也需要用双引号引起来,因此您需要将字符串用单引号括起来。除此之外,fullCalendar 需要一个事件数组,这是解析为变量的有效方法。
尝试这个:
$(document).ready(function() {
var dates = '[{"title": "event1", "start": "2018-07-10"},{"title": "event2","start": "2010-07-18"}]';
dates = JSON.parse(dates);
$('#calendar').fullCalendar({
height: 450,
defaultView: 'month',
events: dates
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.css" />
<div id="calendar"></div>
或者,如果您使用 JavaScript 生成事件数据,则可以直接构建 JavaScript 对象:
$(document).ready(function() {
var dates = [{"title": "event1", "start": "2018-07-10"},{"title": "event2","start": "2010-07-18"}];
$('#calendar').fullCalendar({
height: 450,
defaultView: 'month',
events: dates
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.9.0/fullcalendar.css" />
<div id="calendar"></div>
推荐阅读
- c - 泛型交换 c 函数
- sql-server - 创建内存优化表类型
- r - 如何在 R 中运行 ComBat 函数时解决“dim(X) must have a positive length”
- python-3.x - ImportError:没有使用 MAC VSCODE 的模块命名烧瓶
- python - 基于其他两列的唯一元素(分组)的一列的 Numpy 平均值
- reactjs - React + typescript:propTypes.elementType 的 InferProps 抛出错误:JSX 元素类型“组件”没有任何构造或调用签名
- apache-spark - 可以在进行火花流式传输时移动输出文件,而不会使火花作业崩溃吗?
- python - 魔杖 Python 和剩下的 Image Magick 文件
- oracle - 过程 PL/SQL 中的光标
- mysql - 从 MySQL 中的 JSON 数组中删除所有 JSON 对象