I have a form that calculates the cost of delivery per CEP group, what I need now is for each group to add a delivery time. Example: The Zip Code group that charges $ 4.30 will have the delivery time in 50 minutes, and the Zip Code group that charges $ 6.50 will have the delivery time in 120 minutes ...
Here is the code for the form.js file where you have this calculation:
var str = "";
var id = "";
var sub = 0.00;
var taxa = 0;
var taxadeentrega = total - taxa;
var total = 0.00;
var qcount = 0;
var scount = 0;
var opc = 0;
var options = "";
for (i=1; i<21; i++){
options += "<option value='" + i + "'>" + i + "</option>";
}
$( document ).ready(function() {
$( "div div select" ).html(options);
$( "div div :text" ).attr("value","1");
$( "#emporio" ).css("display","block");
$( "#mudaopcao" ).click(function() {
location.reload(true);
});
function alerta(txt){
$( "div#alerta" ).html( txt ).show( 0 ).delay( 2500 ).fadeOut( 500 );
}
function atencao(txt){
$( "div#atencao" ).html( txt ).show( 0 ).delay( 2500 ).fadeOut( 500 );
}
function mens(){
var d = new Date();
var n = d.getDate() + "|" + (d.getMonth()+1) + "|" + d.getFullYear() + " - " + d.getHours() + ":" + d.getMinutes();
$( "div#quentes :checkbox:checked" ).each(function() {
str = str + $(this).parent().children("strong").text();
if (opc == 4){
var sel = $(this).parent().children("span").children("select").val();
str = str + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",");
}
str = str + "<br>";
})
$('input[name=quentes]').val(str);
str = "";
$( "div#embalagem :checkbox:checked" ).each(function() {
var sel = $(this).parent().children("select").val();
str = str + $(this).parent().children("strong").text() + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",") + "<br>";
})
$('input[name=embalagem]').val(str);
str = "";
$( "div#molhos :checkbox:checked" ).each(function() {
str = str + $(this).parent().children("strong").text();
if (opc == 4){
var sel = $(this).parent().children("span").children("select").val();
str = str + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",");
}
str = str + "<br>";
})
$('input[name=molhos]').val(str);
str = "";
$( "div#saladas :checkbox:checked" ).each(function() {
str = str + $(this).parent().children("strong").text();
if (opc == 4){
var sel = $(this).parent().children("span").children("select").val();
str = str + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",");
}
str = str + "<br>";
})
$('input[name=saladas]').val(str);
str = "";
$( "div#sobremesas :checkbox:checked" ).each(function() {
var sel = $(this).parent().children("select").val();
str = str + $(this).parent().children("strong").text() + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",") + "<br>";
})
$('input[name=sobremesas]').val(str);
str = "";
$( "div#sucos :checkbox:checked" ).each(function() {
var sel = $(this).parent().children("select").val();
var val = $(this).parent().children("input:radio:checked").val();
str = str + $(this).parent().children("strong").text() + " - " + $(this).parent().children("input:radio:checked").attr("l") + ": R$ " + val.replace(".", ",") + " x " + sel + " = R$ " + (val * sel).toFixed(2).replace(".", ",") + "<br>";
})
$('input[name=sucos]').val(str);
str = "";
$( "div#bebidas :checkbox:checked" ).each(function() {
var sel = $(this).parent().children("select").val();
str = str + $(this).parent().children("strong").text() + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",") + "<br>";
})
$('input[name=bebidas]').val(str);
str = "";
$( "div#sopas :checkbox:checked" ).each(function() {
var sel = $(this).parent().children("select").val();
str = str + $(this).parent().children("strong").text() + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",") + "<br>";
})
$('input[name=sopas]').val(str);
str = "";
$( "div#emporio :checkbox:checked" ).each(function() {
var sel = $(this).parent().children("select").val();
str = str + $(this).parent().children("strong").text() + ": R$ " + $(this).val().replace(".", ",") + " x " + sel + " = R$ " + (($(this).val() * sel).toFixed(2)).replace(".", ",") + "<br>";
})
$('input[name=emporio]').val(str);
str = "";
str = String(total.toFixed(2)).replace(".", ",");
$('input[name=mtotal]').val(str);
str = "";
str = String(+ taxa.toFixed(2)).replace(".", ",");
$('input[name=taxadeentrega]').val(str);
str = "";
if(opc==1){
$('input[name=op]').val("3 Quentes e 3 Saladas");
}else if(opc==2){
$('input[name=op]').val("4 Quentes e 4 Saladas");
}else if(opc==3){
$('input[name=op]').val("5 Quentes e 5 Saladas");
}else{
$('input[name=op]').val("");
}
if(opc==0){
$('input[name=nop]').val("");
} else {
str = "<strong>Opção " + opc + ": </strong>";
$('input[name=nop]').val(str);
str = "";
}
$('input[name=data]').val(n);
}
$("div#quentes :checkbox").click(function(){
if($(this).prop("checked") == true){
qcount++;
if (opc == 1){
if (qcount == 4){
$( this ).prop( "checked", false );
atencao("Você só pode escolher 3 pratos quentes, para mais escolha outra opção");
qcount = 3;
}
if (qcount == 1){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 2 pratos quentes");
}
if (qcount == 2){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 1 prato quente");
}
} else if (opc == 2){
if (qcount == 5){
$( this ).prop( "checked", false );
atencao("Você só pode escolher 4 pratos quentes, para mais escolha outra opção");
qcount = 4;
}
if (qcount == 1){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 3 pratos quentes");
}
if (qcount == 2){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 2 pratos quentes");
}
if (qcount == 3){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 1 prato quente");
}
} else if (opc == 3){
if (qcount == 6){
$( this ).prop( "checked", false );
atencao("Você só pode escolher 5 pratos quentes, para mais escolha outra opção");
qcount = 5;
}
if (qcount == 1){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 4 pratos quentes");
}
if (qcount == 2){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 3 pratos quentes");
}
if (qcount == 3){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 2 pratos quentes");
}
if (qcount == 4){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 1 prato quente");
}
}
} else if($(this).prop("checked") == false){
qcount--;
}
})
$("div#saladas :checkbox").click(function(){
if($(this).prop("checked") == true){
scount++;
if (opc == 1){
if (scount == 4){
$( this ).prop( "checked", false );
atencao("Você só pode escolher 3 saladas, para mais escolha outra opção");
scount = 3;
}
if (scount == 1){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 2 saladas");
}
if (scount == 2){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 1 salada");
}
} else if (opc == 2){
if (scount == 5){
$( this ).prop( "checked", false );
atencao("Você só pode escolher 4 saladas, para mais escolha outra opção");
scount = 4;
}
if (scount == 1){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 3 saladas");
}
if (scount == 2){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 2 saladas");
}
if (scount == 3){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 1 salada");
}
} else if (opc == 3){
if (scount == 6){
$( this ).prop( "checked", false );
atencao("Você só pode escolher 5 saladas, para mais escolha outra opção");
scount = 5;
}
if (scount == 1){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 4 saladas");
}
if (scount == 2){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 3 saladas");
}
if (scount == 3){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 2 saladas");
}
if (scount == 4){
$( this ).prop( "checked", true );
alerta("Você ainda pode escolher 1 salada");
}
}
} else if($(this).prop("checked") == false){
scount--;
}
})
$( ":input" ).click(function() {
total = 0;
sub = 0;
if ($( "div#opcoes input:radio:checked" ).length > 0) {
$( "#mudaopcao, #titulo2, div#quentes :checkbox, div#saladas :checkbox" ).css("display","inline-block");
sub += $( "div#opcoes input:radio:checked" ).val() * 1;
if ($( "div#opcoes input:radio:checked" ).attr("op") == 1){
opc = 1;
$( "#op2,#op3,#op4,div#quentes span" ).css("display","none");
} else if ($( "div#opcoes input:radio:checked" ).attr("op") == 2){
opc = 2;
$( "#op1,#op3,#op4,div#quentes span" ).css("display","none");
} else if ($( "div#opcoes input:radio:checked" ).attr("op") == 3){
opc = 3;
$( "#op1,#op2,#op4,div#quentes span" ).css("display","none");
} else if ($( "div#opcoes input:radio:checked" ).attr("op") == 4){
opc = 4;
$( "#op1,#op2,#op3,div#quentes span" ).css("display","none");
$("div#quentes span, div#saladas span").css("display","inline-block");
$( "div#quentes :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().find("select").val();
}) //each quentes
$( "div#saladas :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().find("select").val();
}) //each saladas
}
}
$( "div#embalagem :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().children( "select" ).val();
}) //each embalagem
$( "div#molhos :checkbox:checked" ).each(function(i) {
if (i > 0) {
sub += $( this ).val() * 1;
}
}); // each molhos
$( "div#sobremesas :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().children( "select" ).val();
}) //each sobremesas
$( "div#sucos :checkbox:checked" ).each(function() {
sub += $( this ).parent().children( ":radio:checked" ).val() * $( this ).parent().children( "select" ).val();
}) //each sucos
$( "div#bebidas :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().children( "select" ).val();
}) //each bebidas
$( "div#sopas :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().children( "select" ).val();
}) //each sopas
$( "div#emporio :checkbox:checked" ).each(function() {
sub += $( this ).val() * $( this ).parent().children( "select" ).val();
}) //each emporio
total += sub;
//aqui eu pego o cep
var cep = document.getElementById("cep").value;
//verifica se deve incrementar ou não
if(cep == "20040-010" || cep == "22750-009" || cep == "20071-002" || cep == "20090-910" || cep == "20210-010" || cep == "20080-102" || cep == "20230-130" || cep == "20081-250" || cep == "20090-030" || cep == "20090-030" || cep == "20211-340" || cep == "20211-351" || cep == "20221-240" || cep == "20221-250" || cep == "20230-010" || cep == "20230-011" || cep == "20230-025" || cep == "20230-150" || cep == "20230-160" || cep == "20230-240" || cep == "20231-016" || cep == "20231-030" || cep == "20231-031" || cep == "20231-050" || cep == "20211-005" || cep == "20231-085" || cep == "20230-014" || cep == "20231-004" || cep == "20021-180" || cep == "20240-180" || cep == "20240-051" || cep == "20211-010" || cep == "20230-170" || cep == "20230-024" || cep == "20240-050" || cep == "20230-050" || cep == "20231-006" || cep == "20090-010" || cep == "20230-901" || cep == "20040-051" || cep == "20241-080" || cep == "20221-901" || cep == "20051-011" || cep == "20021-190" || cep == "20240-200" || cep == "20230-170" || cep == "20231-015" || cep == "20211-350" || cep == "20231-020" || cep == "20061-030" || cep == "20050-092" || cep == "20240-050" || cep == "20230-070" || cep == "20230-015" || cep == "20021-350" || cep == "20230-070"){
//se for um dos ceps acima, incrementa 4 no valor final
taxa = 4.30;
//verifica se deve incrementar ou não
}if(cep == "22221-010" || cep == "22221-011" || cep == "22210-906" || cep == "22250-060" || cep == "22250-020" || cep == "22250-902" || cep == "22250-903" || cep == "22250-030" || cep == "22230-020" || cep == "22210-030" || cep == "22210-065" || cep == "22210-901" || cep == "22210-903" || cep == "22210-904" || cep == "22210-902" || cep == "22210-060" || cep == "22210-905" || cep == "22250-110" || cep == "22220-080" || cep == "22220-900" || cep == "22230-075" || cep == "22220-030" || cep == "22231-140" || cep == "22210-050" || cep == "22230-010" || cep == "22250-130" || cep == "22220-050" || cep == "22220-040" || cep == "22230-040" || cep == "22210-040" || cep == "22250-100" || cep == "22250-120" || cep == "22220-060" || cep == "22230-060" || cep == "22230-061" || cep == "22230-902" || cep == "22230-903" || cep == "22230-901" || cep == "22230-030" || cep == "22231-150" || cep == "22210-085" || cep == "22210-080" || cep == "22230-080" || cep == "22250-090" || cep == "22250-070" || cep == "22231-130" || cep == "22250-080" || cep == "22230-000" || cep == "22230-001" || cep == "22230-900" || cep == "22221-000" || cep == "22210-070" || cep == "22230-070" || cep == "22230-050" || cep == "22231-230" || cep == "22240-180" || cep == "22240-090" || cep == "22240-120" || cep == "22240-030" || cep == "22231-210" || cep == "22245-130" || cep == "22240-160" || cep == "22231-170" || cep == "22231-900" || cep == "22240-130" || cep == "22241-020" || cep == "22240-080" || cep == "22240-170" || cep == "22231-220" || cep == "22245-020" || cep == "22245-070" || cep == "22221-110" || cep == "22245-000" || cep == "22231-110" || cep == "22245-030" || cep == "22245-060" || cep == "22240-000" || cep == "22240-003" || cep == "22240-004" || cep == "22240-006" || cep == "22240-005" || cep == "22240-900" || cep == "22221-120" || cep == "22221-130" || cep == "22240-040" || cep == "22231-160" || cep == "22240-020" || cep == "22221-070" || cep == "22245-110" || cep == "22245-120" || cep == "22221-100" || cep == "22231-120" || cep == "22245-140" || cep == "22240-100" || cep == "22231-070" || cep == "22245-050" || cep == "22241-000" || cep == "22241-970" || cep == "22231-100" || cep == "22221-080" || cep == "22231-200" || cep == "22245-010" || cep == "22221-090" || cep == "22221-140" || cep == "22231-090" || cep == "22231-901" || cep == "22240-150" || cep == "22231-080" || cep == "22245-150" || cep == "22245-040" || cep == "22245-100" || cep == "22240-060" || cep == "22240-140" || cep == "22241-010" || cep == "22240-110" || cep == "22231-180" || cep == "22240-070" || cep == "22245-080" || cep == "22245-090" || cep == "22221-150" || cep == "22240-010" || cep == "20211-110" || cep == "22220-020" || cep == "22231-190"){
//se for um dos ceps acima, incrementa 5.5 no valor final
taxa = 6.50;
//verifica se deve incrementar ou não
}if(cep == "20241-220" || cep == "22210-015" || cep == "22220-000" || cep == "20241-160" || cep == "20021-040" || cep == "20241-150" || cep == "22210-010" || cep == "22211-230" || cep == "22220-000" || cep == "22220-070" || cep == "22221-060" || cep == "22211-200" || cep == "22221-020" || cep == "20241-180" || cep == "20240-200"){
//se for um dos ceps acima, incrementa 5.5 no valor final
taxa = 6.0;
}if(cep == "20050-091" || cep == "20060-050" || cep == "20071-000" || cep == "20080-003" || cep == "20081-000" || cep == "20081-050" || cep == "20090-000" || cep == "20090-003" || cep == "20231-092" || cep == "24938-600" || cep == "20051-002" || cep == "20090-050" || cep == "20231-046" || cep == "20231-047" || cep == "20231-048" || cep == "20060-070" || cep == "20231-094" || cep == "20090-001" || cep == "20231-093" || cep == "20051-011" || cep == "20060-010" || cep == "20050-002"){
//se for um dos ceps acima, incrementa 3.5 no valor final
taxa = 3.8;
}if(cep == "20090-003" || cep == "20071-001" || cep == "20221-901"){
//se for um dos ceps acima, incrementa 4.8 no valor final
taxa = 4.8;
}if(cep == "20031-170" || cep == "20040-004" || cep == "20040-902" | cep == "20021-360" || cep == "20040-020" || cep == "20040-908" || cep == "20071-000" || cep == "20230-070" || cep == "20071-004" || cep == "20040-009" || cep == "20230-060"){
//se for um dos ceps acima, incrementa 3 no valor final
taxa = 3.30;
}if(cep == "20010-010" || cep == "20020-906" || cep == "20031-908" || cep == "20031-917" || cep == "20040-001" || cep == "20040-006" || cep == "20050-090" || cep == "20070-022" || cep == "20031-909" || cep == "20031-904" || cep == "20021-390" || cep == "20031-919" || cep == "20031-912" || cep == "20031-905" || cep == "20050-060" || cep == "20031-901" || cep == "20070-021" || cep == "20031-924" || cep == "20051-040" || cep == "20031-901" || cep == "20003-191" || cep == "20241-110" || cep == "20031-900" || cep == "20050-030"){
//se for um dos ceps acima, incrementa 2.5 no valor final
taxa = 2.80;
}if(cep == "20010-020" || cep == "20011-020" || cep == "20011-030" || cep == "20011-040" || cep == "20011-901" || cep == "20020-000" || cep == "20010-170" || cep == "20011-000" || cep == "20021-260" || cep == "20031-040" || cep == "20031-050" || cep == "20031-130" || cep == "20031-204" || cep == "20021-245" || cep == "20040-002" || cep == "21335-253" || cep == "20040-031" || cep == "20030-041" || cep == "20040-000" || cep == "20004-002" || cep == "20040-003" || cep == "20040-007" || cep == "20030-042" || cep == "20011-010"){
//se for um dos ceps acima, incrementa 1.7 no valor final
taxa = 2.00;
}if(cep == "20010-090" || cep == "20020-100" || cep == "20021-130" || cep == "20021-315" || cep == "20030-001" || cep == "20031-000" || cep == "20031-003" || cep == "20031-010" || cep == "20031-050" || cep == "20031-141" || cep == "20031-143" || cep == "20031-005" || cep == "20031-001" || cep == "20020-903" || cep == "20031-144" || cep == "20030-080" || cep == "20031-142" || cep == "20031-120" || cep == "20031-007" || cep == "20010-009" || cep == "20031-913" || cep == "20021-370" || cep == "20200-100" || cep == "20030-901" || cep == "20030-021" || cep == "20210-030" || cep == "24220-280"){
//se for um dos ceps acima, incrementa 1.2 no valor final
taxa = 1.50;
}if(cep == "20020-010"|| cep == "22050-032" || cep == "20020-040" || cep == "20020-080" || cep == "20021-060" || cep == "20021-120" || cep == "20021-900" || cep == "20021-903" || cep == "20030-002" || cep == "20030-015" || cep == "20030-013" || cep == "20030-020" || cep == "20030-021" || cep == "20030-060" || cep == "20030-070" || cep == "20030-120" || cep == "20002-080" || cep == "20002-008" || cep == "20003-021" || cep == "20030-905" || cep == "24220-031" || cep == "20002-010" || cep == "20030-015"){
//se for um dos ceps acima, incrementa 0.7 no valor final
taxa = 1.00;
}
total += taxa;
if(taxa != 0){
//caso a taxa seja diferente de 0, mostra ao usuário
document.getElementById("idTaxa").innerHTML = "Custo adicional: R$ " + taxa;
}
$( "div#total" ).html( "Valor total da sua<br>encomenda: R$ " + String(total.toFixed(2)).replace(".", ",") );
$( "div#total" ).css("display", "block");
$( "#total2" ).html( "R$ " + String(total.toFixed(2)).replace(".", ",") );
}) //click
$( "#total2" ).html( "R$ " + String(total.toFixed(2)).replace(".", ",") );
$( "form" ).submit(function( event ) {
if (opc == 4 && (qcount + scount)<6){
event.preventDefault();
alerta("Você deve escolher, no mínimo, 6 itens, entre os pratos quentes e saladas");
return false;
} else if (total < 22.90){
event.preventDefault();
alerta("O valor mínimo do pedido é R$ 22,90");
return false;
} else if ($("#nome").val()=="" || $("#endereco").val()=="" || $("#email").val()=="" || $("#cep").val()=="" || $("#telefone").val()==""){
event.preventDefault();
alerta("Todos os campos de informação são obrigatórios");
return false;
}
mens();
}); //form
}); // doc ready
Follow form link: