【发布时间】:2017-03-18 16:22:01
【问题描述】:
我有多个复选框,单击这些复选框时,会将 eventSource 添加到我的 jquery fullcalendar。刷新页面时,我可以从存储中检索复选框值,但未添加事件源。我必须取消选中然后重新选中复选框。
这是单击单个复选框执行的功能。
$("#checkbox1").change(function() {
if (this.checked) {
$('#calendar').fullCalendar('addEventSource', 'EventListRed.php');
} else {
$('#calendar').fullCalendar('removeEventSource', 'EventListRed.php');
}
});
这是我如何使用网络存储来保留复选框值
$(document).ready(function() {
var boxes = document.querySelectorAll("input[type='checkbox']");
for (var i = 0; i < boxes.length; i++) {
var box = boxes[i];
if (box.hasAttribute("store")) {
setupBox(box);
}
}
function setupBox(box) {
var storageId = box.getAttribute("store");
var oldVal = localStorage.getItem(storageId);
box.checked = oldVal === "true" ? true : false;
box.addEventListener("change", function() {
localStorage.setItem(storageId, this.checked);
});
}
});
编辑:
我已按要求添加了JSFiddle demo。 如您所见,复选框值已保存,但我的事件未从 EventsListRed.php 加载。
请注意,我不确定如何在 jsfiddle 中链接 .php 文件。
我认为我的问题是我将复选框标记为已选中,但它没有触发更改功能。
【问题讨论】:
-
能否提供JsFiddle Demo
-
JSFiddle 添加。请参阅编辑。
标签: javascript jquery fullcalendar web-storage