Ir para conteúdo
Fórum Script Brasil
  • 0

Calcular frete com JQuery e atualizar divs


Eder Cuer

Pergunta

Eae galera, eu fiquei alguns minutos pra arrumar um nome pra esse tópico e ainda assim ficou meio confuso, me desculpem.

Eu estou tentando desenvolver um sisteminha de calcular frete.

Em um formulário php o usuário escolhe cidade e estado (origem/destino), assim que o usuário clica em procurar o sistema busca as transportadoras que atendem aquelas cidades e estados, e junto com as transportadoras aparece um mapa.

Agora começa meu probleminha, bom... assim que o usuário clica em "Traçar Rota" eu pego a distância de cidade para cidade, envio por $.post(), pego a distância e atualizo as divs "preço" (são criadas dinamicamente, dependendo de quantas transportadoras atendem aquela rota), fiz isso só pra teste mesmo.

No banco de dados de cada transportadora tem um campo "precoMetro", que é quanto uma transportadora cobra por metro. Agora eu queria saber um jeito de ao invés de colocar a distância, eu colocar o preço mesmo, fazer os cálculos.

Pessoal se for uma coisa muito simples eu peço desculpa, não entendo muito de javascript/jquery/ajax.

Vou postar algumas imagens pra vocês entenderem melhor, e meu código também

imgel.jpg

img6r.jpg

Aqui é o formulário onde eu chamo a função:

<div class="left">
        <form id="formulario" name="formulario" onsubmit="calcRoute(); return false;" >
                <label for="inputStart" class="inputStart" ></label> 
                <input type="text" readonly="readonly" class="text" value="'.htmlentities($corigem).','.htmlentities($eorigem).'"
 id="inputStart"  />
                <br />
                <label for="inputEnd" class="inputEnd"></label> <input type="text" readonly="readonly" class="text" value="'.htmlentities($cdestino).','.htmlentities($edestino).'"
 id="inputEnd" />
                <input type="submit" id="tracar" name="tracar" value="Traçar Rota" />
                <input type="text" id="distancia" name="distancia" />
                                                                                        
        </form> 
                                                                                
</div>
Aqui é minha função
function calcRoute() {
        if (marker) marker.setMap(null);
        route = true;
        var start = document.getElementById("inputStart").value;
        var end = document.getElementById("inputEnd").value;
                        
        var request = {
                origin:start, 
                destination:end,
                travelMode: google.maps.DirectionsTravelMode.DRIVING
        };
        directionsService.route(request, function(response, status) {
                if (status == google.maps.DirectionsStatus.OK) {
                        directionsDisplay.setDirections(response);
                        var distancia;
                                                                                                                                                   
                        var rota = response.routes[0]; 
                        var etapa = rota.legs[0]; 
                                                                                
                        distancia = etapa.distance.value;
                                                
                        document.getElementById("distancia").value = distancia;

                 }
                                                                                        
                var distancia = $("#distancia").val();
               
                                                                                        
                $.post("calcula.php", { distancia:distancia, ';for( $i = 0; $i < mysql_num_rows($result); $i++ ){echo 'preço'.$cod.':preço'.$cod.',';}echo '}, function(get_retorno) {';
                                                                                                                                                                                        
                for ( $i = 0; $i < mysql_num_rows($result); $i++ )
                {
                                                                                                
                        $cod  = mysql_result($result, $i, 'cod_transp');
                        $nome = mysql_result($result, $i, 'nome');
                        echo '$("#preço'.$cod.'").show("slow").text(get_retorno);'
; 
                        echo "\n";
                                                                
                }                                                                        
                echo '  
        });
                                                                                        
});

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...