在另一页上显示数组的结果

时间:2015-07-14 02:21:24

标签: javascript jquery arrays

我正在尝试从一个页面加载一个数组,然后使用javascript / jQuery将结果显示在另一个页面上。因此,用户将从下拉列表中进行选择。根据此下拉列表,“客户”地址,电话,电子邮件等将显示在文本字段中。我试图将这些结果存储到数组(数组的一个索引中的名称|地址|等),在第二个屏幕上显示结果,然后允许用户在必要时添加更多名称。

目前我正在尝试使用localStorage存储值,然后使用JSON.stringify转换结果,以便将它们存储在数组中。

我认为这些都是相关的:

var customerArray = [];

var getName = $('#DropDownList1').val();
var getAddress = $('#DataList1').text().trim();
var getPhone = $('#DataList2').text().trim();
var getEmail = $('#DataList3').text().trim();
    //store the variables
localStorage.setItem("name", getName);
localStorage.setItem("address", getAddress);
localStorage.setItem("phone", getPhone);
localStorage.setItem("email", getEmail);
    //user will click #btnAdd to add the customers information
    //into customerArray[]
$("#btnAdd").click(function () {
    var setName = localStorage.getItem("name");
    var setAddress = localStorage.getItem("address");
    var setPhone = localStorage.getItem("phone");
    var setEmail = localStorage.getItem("email");

    var post = setName + setAddress + setPhone + setEmail;

    if (customerArray.length == 0) {
        customerArray[0] = post;
    } else {
        for (var i = 1; i < customerArray.length; ++i) {
            //store results of 'post' into the array
            customerArray.push(post); 
         localStorage.setItem("storedArray",JSON.stringify(customerArray));
        }
    }
}); //end #btnAdd click event

此处第2页的表格将加载一个文本字段,该字段将(应该)显示数组的结果(customerArray)。不幸的是,我只能得到1个值。

目前这是用于显示结果的块:

  $('#tbContactList').val(JSON.parse(localStorage.getItem("storedArray")));

如果重要,我正在使用Visual Studio Express 2012 for Web编写应用程序。最初填充客户信息的数据来自我使用ASP控件获取的数据库。我相信使用ASP / C#有一个非常简单的解决方案,但我正在尝试使用javascript / jQuery解决这个问题 - 我比使用C#更熟悉这些语言。

谢谢。

1 个答案:

答案 0 :(得分:0)

使用Array.join()将数组转换为要存储的字符串。 然后使用Array.split()将您的字符串转换回数组。

实施例

var arr=['name','email','other'];
var localStorageString=arr.join(',');
localStorage.setItem('info',localStorageString);

var reassemble=localStorage.info.split(',');

for(var i=0;i<reassemble.length;i++){
    document.body.innerHTML+=reassemble[i]+"<br/>";   
}

http://jsfiddle.net/s5onLxd3/

为什么用户必须离开当前页面?是选项卡式/动态界面而非选项?