我有2个网页。一个叫做创建活动和另一个活动日历。在“创建事件”中,表单用于允许用户输入。然后使用以下函数将输入存储到本地存储:
document.addEventListener("DOMContentLoaded", docIsReady);
var CreateEvent;
function docIsReady() {
CreateEvent = localStorage.getItem("CreateEvent");
if (CreateEvent == null) {
CreateEvent = [];
} else {
CreateEvent = JSON.parse(CreateEvent);
}
}
function saveToStorage() {
var one;
var nameofevent = document.getElementById("name").value;
var pList = document.getElementsByName("pos");
var positions = [];
for (i = 0; i < pList.length; i++) {
positions.push(pList[i].value);
console.log(pList[i].value);
}
//for (i=0; i<positions.length; i++){
//console.log(positions[i].value);
//}
var venue = document.getElementById("venue").value;
var date = document.getElementById("date").value;
var starttime = document.getElementById("timeStart").value;
var endtime = document.getElementById("timeEnd").value;
var contact = document.getElementById("contact").value;
var email = document.getElementById("email").value;
var desc = document.getElementById("desc").value;
one = {
"name": nameofevent,
"pos": positions,
"venue": venue,
"date": date,
"timeStart": starttime,
"timeEnd": endtime,
"contact": contact,
"email": email,
"desc": desc
};
CreateEvent.push(one);
localStorage.setItem("CreateEvent", JSON.stringify(CreateEvent));
return false;
}
我使CreateEvent成为一个数组,以便存储多个输入,因为不能只创建一个事件。现在,我需要在Calendar Of Events的表格中显示事件的NAME。作为日历,事件将按月分类。但是,我不知道如何访问存储在数组中的每个对象中的“日期”和“名称”值。如何检索对象中的值?
答案 0 :(得分:0)
使用[]
将索引到数组中。
var entry = CreateEvent[0]; // 0 = the first entry
...然后使用该对象上的属性:
console.log(entry.name);
附注:你可以自由地在自己的代码中做任何你想做的事情,但是FWIW,CreateEvent
是这个数组的一个不寻常的名字,原因有两个:1。它以大写字母开头,而在JavaScript中,压倒性的约定是数据变量以小写字母开头。 2.它是动词短语(&#34;创建事件&#34;),但它的值是名词(事件数组)。通常,列表和数组使用它们包含的名称命名,可以是复数形式,也可以是list
或array
后缀。因此,在这种情况下,events
或eventList
或eventArray
会更加标准。