如何基于本地存储值布尔类型运行if / else语句?

时间:2015-03-14 19:14:47

标签: javascript cordova if-statement local-storage

我希望此代码查找本地存储值,如果为true则显示网格,但如果为false,则隐藏网格。我试过这个代码,但我无法让它正常工作。关于我做错了什么的想法?

var v = localStorage.getItem('checkcalfid'); 
if (v===true)
{
jQuery('[name="mobilegridcell_385"]').closest("tr").show();
}
else jQuery('[name="mobilegridcell_385"]').closest("tr").hide();

2 个答案:

答案 0 :(得分:0)

如果希望代码工作,localStorage返回字符串的getItem函数会考虑将其更改为。

这是一个jsfiddle示例:https://jsfiddle.net/dkabf953/1/

var v = localStorage.getItem('checkcalfid'); 
if (v== 'true') { // Check if it's equal to the string true
    jQuery('[name="mobilegridcell_385"]').closest("tr").show();
} else {
    jQuery('[name="mobilegridcell_385"]').closest("tr").hide();
}

答案 1 :(得分:0)

尝试JSON.parse可能是存储的值不是布尔值,请确保在设置项目时使用JSON.stringify

// storing value using JSON.stringify
localStorage.getItem("key",JSON.stringify(value));

-------------------------------------------------------------

// retrieving value using JSON.parse
var v = JSON.parse(localStorage.getItem('checkcalfid')); 
if (v===true)
{
jQuery('[name="mobilegridcell_385"]').closest("tr").show();
}
else jQuery('[name="mobilegridcell_385"]').closest("tr").hide();