我是Javascript / Jquery的初学者,我正在使用jquery mobile和jquery制作移动网络应用程序,我无法弄清楚如何在一个地方显示我的所有输入。无论我在表格中输入多少数据,它总是显示最后输入的数据。请问,有什么帮助吗?
$(document).ready(function() {
if(localStorage['linrval'],localStorage['linrdate']){
$('#inrhist').prepend('<div class="inrval">'+localStorage['linrdate']+ ' ---- ' +localStorage['linrval']+ '</div>');
};
$('#inrbtn').click(function(){
var inrval=$('input[name=user]').val();
var inrdate=$('input[name=dateinr]').val();
localStorage.setItem('linrval',inrval);
localStorage.setItem('linrdate',inrdate);
$('#inrhist').prepend('<div class="inrval">'+inrdate+ ' ---- ' +inrval+ '</div>');
});
答案 0 :(得分:0)
你有这个:
if(localStorage['linrval'],localStorage['linrdate']){...}
当且仅当localStorage['linrdate']
为真时,此类表达式才为真。 localStorage['linrval']
的值基本上被忽略了。
也许你想要这个:
if( localStorage['linrval'] || localStorage['linrdate'] ){...}
^^
您还要覆盖localStorage值:
localStorage.setItem('linrval',inrval);
localStorage.setItem('linrdate',inrdate);
答案 1 :(得分:0)
每次需要添加到数组中时,都需要更改一些内容,而不是使用相同的属性更新项值。 localStorage
仅支持字符串。
$(document).ready(function() {
//localStorage.removeItem("users");
var userStr = localStorage.getItem('users');
if (userStr != null && userStr != undefined) {
var jsonObj = JSON.parse(userStr);
console.log("onload value", jsonObj);
$.each(jsonObj.items, function(i, item) {
$('#inrhist').prepend('<div class="inrval">'+item.user +'--'+item.dateinr+'</div>');
});
}
$('#inrbtn').click(function () {
var dataItems = { items: [] };
var inrval = $('input[name=user]').val();
var inrdate = $('input[name=dateinr]').val();
var item = { user: inrval, dateinr: inrdate };
var usersList = localStorage.getItem('users');
var jsonObj;
if (usersList == null) {
dataItems.items.push(item);
jsonObj = JSON.parse(JSON.stringify(dataItems));
}
else {
jsonObj = JSON.parse(usersList);
jsonObj.items.push(item);
}
jsonStr = JSON.stringify(jsonObj);
console.log(jsonStr);
localStorage.setItem("users", jsonStr);
$('#inrhist').prepend('<div class="inrval">' + inrdate + '--' + inrval + '</div>');
});
});