Javascript 使用本地存储获取多个值
我想检索创建任务的名称和日期。我设法将值taskMessage放入本地存储,但我也不知道如何添加taskName。这是我目前拥有的代码:Javascript 使用本地存储获取多个值,javascript,Javascript,我想检索创建任务的名称和日期。我设法将值taskMessage放入本地存储,但我也不知道如何添加taskName。这是我目前拥有的代码: $(document).ready(function () { var i = 0; for (i = 0; i < localStorage.length; i++) { var taskID = "task-" + i; $('.task-container').append("<li class='item-content
$(document).ready(function () {
var i = 0;
for (i = 0; i < localStorage.length; i++) {
var taskID = "task-" + i;
$('.task-container').append("<li class='item-content' id='" + taskID + "'>" + localStorage.getItem(taskID) + "</li>");
}
$('.floating-button').on('click', function () {
myApp.prompt('', 'Add Task', function (task) {
if (task !== "") {
myApp.prompt('', 'Choose time', function (time) {
var d1 = new Date();
d1.setHours(time, 0, 0, 0);
var hour = d1.getHours();
if (time > 0 && time < 25) {
var d2 = new Date();
var currenttime = d2.getHours();
if (time > currenttime) {
var taskID = "task-" + i;
var taskMessage = hour;
var taskName = task;
localStorage.setItem(taskID, taskMessage);
var newtask = '<li class="item-content ' + taskID + '"><div class="item-inner"><div class="item-title" >' + taskName + '</div><div class="item-after"> ' + taskMessage + ':00</div> </div></li>';
var taskitem = $('#' + taskID);
$('.task-container').append(newtask);
}
else {
myApp.addNotification({
message: 'Please choose a valide time period'
});
}
}
else {
myApp.addNotification({
message: 'Please choose a value between 1 and 24'
});
}
});
}
else {
myApp.addNotification({
message: 'Please enter a valid name'
});
}
});
});
});
$(文档).ready(函数(){
var i=0;
对于(i=0;i0&&时间<25){
var d2=新日期();
var currenttime=d2.getHours();
如果(时间>当前时间){
var taskID=“任务-”+i;
var taskMessage=小时;
var taskName=任务;
setItem(taskID,taskMessage);
var newtask=''+taskName+''+taskMessage+':00 ';
var taskitem=$(“#”+taskID);
$('.task container').append(newtask);
}
否则{
myApp.addNotification({
消息:“请选择有效的时间段”
});
}
}
否则{
myApp.addNotification({
消息:“请选择一个介于1和24之间的值”
});
}
});
}
否则{
myApp.addNotification({
消息:“请输入有效名称”
});
}
});
});
});
如果您想在localStorage
中存储两个不同的值,那么您可以这样做:
// Put the object into storage
localStorage.setItem('task', JSON.stringify(obj));
// Retrieve the object from storage
var val = localStorage.getItem('obj');
console.log('retrievedValue: ', JSON.parse(val));
- 使用不同的键在localStorage中设置项两次
localStorage.setItem("message", taskMessage); localStorage.setItem("name", taskName);
- 将这两个值存储在一个对象中
var obj = { "message": taskMessage, "name": taskName } var val = localStorage.setItem("task", obj);
val
:字符串val的值
:[object]setItem
方法在存储输入之前,将其转换为字符串
试试这个:
// Put the object into storage
localStorage.setItem('task', JSON.stringify(obj));
// Retrieve the object from storage
var val = localStorage.getItem('obj');
console.log('retrievedValue: ', JSON.parse(val));
将项键和值另存为string
,因此使用对象/json对象调用setItem,必须通过json.stringify()
方法将json序列化为字符串。获取值时,需要使用json.parse()
方法将字符串解析为json对象
试验
您可以使用以下示例轻松地将值存储在localstorage中
//Save the values to Localstorage
localStorage.setItem('first','firstvalue');
localStorage.setItem('second','secondvalue');
//Retrieve the values from localstorage
localStorage.getItem('first')
//"firstvalue"
localStorage.getItem('second')
//"secondvalue"
首先,应该将数据放入变量中
var getData =
{
"firstData":"data1",
"secondData":"data2",
"thirdData": "data3"
}
然后您可以在localStorage中设置上述数据
localStorage.setItem('dataKey', JSON.stringify(getData ));
那就
var val = localStorage.getItem('dataKey');
享受 我不太明白最后一部分。那么如何从对象中获取值呢?是localStorage.getItem(“taskID”,obj(0));例如,要获取值:var a=localStorage.setItem(“任务”)
则可以使用
oprator进行访问a.message
&a.name
@FrederikDelaet感谢您纠正我的错误。我更新了我的答案,请检查我希望它能满足您的期望。谢谢。我要试试这个。恐怕我不能用了。这是我第一次使用本地存储,所以有点困难。目前我有:var obj={“message”:taskMessage,“name”:taskName}localStorage.setItem('task',JSON.stringify(obj));var val=localStorage.getItem('obj');log(taskName,JSON.parse(val))代码>