Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mehow

Como manter os valores do array?

Recommended Posts

Estou tentando fazer um script de um sistema de cotação de albuns de foto. Conforme o cliente vai selecionando as opções vai mostrando o valor em tempo real.

Estou tentando gravar o id e o preço do item em um array, porém cada vez que seleciono um item ele sobrescreve o valor.

Eu preciso manter para que quando eu selecionar um item da mesma categoria eu buscar no array e remove-lo da lista e o preço para remover do total.

Da maneira que estou fazendo só vai somando cada vez mais...

 

 var carrinho = new Array();
 var total = 0;
$(document).ready(function(){

    $("#tamanho").change(function(){
      var idtamanho = $(this).val();
      if(idtamanho != ""){
        $.ajax({
           type: "POST",
           url: "getcapa.php",
           data: 'acao=tamanho'+'&idtamanho='+idtamanho,
           dataType: 'json',
           success: function(resposta){
              carrinho['id'] = resposta.id;
              carrinho['preco'] = resposta.preco;
              $("#total").html("id=>"+carrinho['id']);
               findpos(resposta.id);
              total += parseFloat(resposta.preco);
              $("#total").append("<br> R$ "+total);
           }
        });
      }
    });

    
     function findpos(id)  //buscar se o id existe no array
    {
	    for(var i=0; i <= carrinho.length;i++)
	    {
	        if(carrinho.id==id){
	            alert(i);
                 }
	    }

    }
    function update_total(){
       if(total){
         $('#total').html(' <b>Total</b>: R$ '+total);
       }else{
          $('#total').html('');
       }
    }
    
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera eu consegui bloquear a soma quando eu encontro dentro do array o valor que seleciono no combobox, porem ao selecionar eu não consigo excluir o valor que tinha sido escolhido anteriormente...

 

é o seguinte, tenho vários combobox, tem o de Tamanho do Album, vamos supor que escolhi o tamanho 10 x 15, dai vou pegar o preço R$100 então o total por enquanto é 100, se eu escolher outro album 15 x 20 R$150, então eu quero excluir o R$100 pq é um produto da mesma categoria e somar os 150 ao total

Se alguem puder me ajudar, estou desde ontem queimando os neuronios com isso e não consigo resolver

 

por enquanto meu script está assim

 $("#tamanho").change(function(){
      var idtamanho = $(this).val();
      if(idtamanho != ""){
        $.ajax({
           type: "POST",
           url: "getcapa.php",
           data: 'acao=tamanho'+'&idtamanho='+idtamanho,
           dataType: 'json',
           success: function(resposta){
              //define variavel de checagem
              var check = false;
                   //percorre todo array
                   for(var i=0; i<carrinho.length;i++){
	                if(carrinho[i].id==resposta.id) // verifica se o ID existe no array
	                {
	                    check=true; //se sim checagem verdadeira
	                    break; // para de percorrer
	                }
	           }
                   if(check == false){ // se na checagem não existir o ID ele adiciona o que selecionou
                      carrinho.push({id:resposta.id,preco:resposta.preco,tipo:"tam"});
                      total += parseFloat(resposta.preco);
                   }else{

                   }


             $.each(carrinho, function(i,val){
                $("#teste").append("<br> =>"+i+" = "+val.id);
             });

              
              update_total();
           }
        });
      }
    });

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.