0

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}]

ご理解いただければ幸いです。

4

0 に答える 0