我正在尝试使用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}]
希望你明白!