我正在使用PhoneGap创建一个jQuery移动应用程序,并且我想列出旧的搜索结果(由表单输入并存储在localStorage中).
有两个不同的问题要解决:
1)我会将结果存储在localStorage数组中,如果用户第二次搜索,则应将结果添加到旧结果之后的数组中,例如:city [0] =“ New York”,city [1] = “巴黎” …如何保存和读取数组中的字符串,例如:
localStorage.setItem('city[i]', $('#city').val());
or
localStorage.getItem('city[i]');
2)现在我想显示搜索历史.我已经尝试过了,但是:
>我不知道如何在html列表中显示localStorage数组或变量,并且…
>如果localStorage中没有变量,则不会加载网站.
var history = "";
if (localStorage.getItem("history") !== "") {
var history = localStorage.getItem("history");
}
if ( history !== "") {
$("#lastResults").html(
"Last Results:" +
"
- " +
"
" + document.write(history) + " " +"
");
}
解决方法:
//To Check and show previous results in **lastResults** div
if (localStorage.getItem("history") != null)
{
var historyTmp = localStorage.getItem("history");
var oldhistoryarray = historyTmp.split('|');
$('#lastResults').empty();
for(var i =0; i
{
$('#lastResults').append('
'+oldhistoryarray[i]+'
');}
}
//Storing New result in previous History localstorage
if (localStorage.getItem("history") != null)
{
var historyTmp = localStorage.getItem("history");
historyTmp += '|Paris|Pakistan|China|US';
localStorage.setItem("history",historyTmp);
}
else
{
var historyTmp = 'Paris|Pakistan|China|US';
localStorage.setItem("history",historyTmp);
}
注意我已经使用jquery来缩短代码.
标签:html5,cordova,html,javascript,jquery
来源: https://codeday.me/bug/20191030/1964812.html