本地存储Javascript和JSONArray

时间:2013-03-27 16:11:44

标签: javascript json local-storage

我正在尝试使用JSONArrays和Objects在本地存储数据。该程序所做的是获取我动态插入的几个滑块的值(有时是1,有时是2个滑块,有时是3或4 ......)。所以我得到了产品的值和id,以便在本地存储数组。 但是有一个问题它只保存第一个数组,推送方法不起作用。

以下是代码:

function afegir_i_editar_llistacompra(){
    //Obtenim els valors dels sliders i els guardem a localhost 
    var id_product = $('body').data('product');
    var array_of_bought_colors_new = new Array({'id': id_product});
    var array_of_bought_colors_existing = get_product_info(id_product, 'cesta_list'); 

    for (var i = 0; $('#slider-'+i).val() != null ; i++) {
        array_of_bought_colors_new.push({'color':$('#slider-'+i).attr('name'),'value': $('#slider-'+i).val()});
    };

    if(array_of_bought_colors_existing != null){
        for (var i = array_of_bought_colors_existing.length - 1; i >= 1; i--) {
            if(array_of_bought_colors_existing[i].value != array_of_bought_colors_new[i].value)
                array_of_bought_colors_existing[i].value = array_of_bought_colors_new[i].value;
        };
    }else if( array_of_bought_colors_new.length > 1 && $('body').data('cesta_list') != null) {      
        $('body').data('cesta_list', $('body').data('cesta_list').push(array_of_bought_colors_new));
    }else{
        $('body').data('cesta_list', array_of_bought_colors_new);
    }
}

我正在保存:

[{id:1},/*First slider -->*/{'color':'blue','value':2},/*Second slider -->*/{'color':'blue','value':32}]

希望你明白!

0 个答案:

没有答案