Discount on a form item, after choosing a combo option

Asked

Viewed 38 times

0

I have a form in PHP, where I would like to create a discount rule for an item, in this case the soup. The soup on the online menu (form) costs R $ 15,50 but if the customer select one of the combos (are 4 combos) the soup will cost R $ 9,90.

The form is in PHP and the rules (programming) are in JS.

Follow the PHP part of the options and Soup:

<div id="opcoes">
<span class="titulo">Escolha a sua opção:</span><br>
<div id="op1"><input type="radio" name="promo" value="24.90" op="1"> <strong>Opção 1:</strong> 3 Quentes e 3 Saladas - R$ 24,90<br></div>
<div id="op2"><input type="radio" name="promo" value="27.90" op="2"> <strong>Opção 2:</strong> 4 Quentes e 4 Saladas - R$ 27,90<br></div>
<div id="op3"><input type="radio" name="promo" value="30.90" op="3"> <strong>Opção 3:</strong> 5 Quentes e 5 Saladas - R$ 30,90<br></div>
<div id="op4"><input type="radio" name="promo" value="0.00"  op="4"> <strong>Opção 4: Monte seu prato à vontade</strong> (mínimo de 6 itens)<br></div>
</div>
<input type="button" id="mudaopcao" class="botao" value=" Mudar a minha opção ">
<br>

<!-- SOPAS -->
<div id="sopas">
<span class="titulo">Sopas:</span><br>
<div><input type="checkbox" value="15.50"> <strong>Minestrone - feijão branco com tofu defumado e legumes em cubos(P) </strong>: R$ 15,50 - Quant.: <select></select></div>
</div>
<br><br>

Here is the FULL code of the form.js file (JS):

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#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#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-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 == "20240-050" || cep == "20230-015"){

        //se for um dos ceps acima, incrementa 4 no valor final
    taxa = 4.80;


        //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 == "22231-190"){

        //se for um dos ceps acima, incrementa 5.5 no valor final
    taxa = 6.50;


}if(cep == "20020-010" || 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.5;

}

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 < 17.90){
            event.preventDefault();
            alerta("O valor mínimo do pedido é R$ 17,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

1 answer

1


Follows a solution

Include in the form.js file:

$( "input[name=promo]" ).on( "click", function() {
    $("#sopa1").val(9.90);
    $("#sopa1v").text("9,90");
});

And in the html file

modify this line:

<div><input id="sopa1" type="checkbox" value="15.50"> <strong>Minestrone - feijão branco com tofu defumado e legumes em cubos(P) </strong>: R$ <div id="sopa1v">15,50</div> - Quant.: <select></select></div>

See if it solves your doubt.

Edited: I entered this code just below the alert function in form.js

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 );
    }
        
    $( "input[name=promo]" ).on( "click", function() {
      $("#sopa1").val(9.90);
      $("#sopa1v").text("9,90");
    });
    
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#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#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-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 == "20240-050" || cep == "20230-015"){

        //se for um dos ceps acima, incrementa 4 no valor final
    taxa = 4.80;


        //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 == "22231-190"){

        //se for um dos ceps acima, incrementa 5.5 no valor final
    taxa = 6.50;


}if(cep == "20020-010" || 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.5;

}

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 < 17.90){
            event.preventDefault();
            alerta("O valor mínimo do pedido é R$ 17,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
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="opcoes">
<span class="titulo">Escolha a sua opção:</span><br>
<div id="op1"><input type="radio" name="promo" value="24.90" op="1"> <strong>Opção 1:</strong> 3 Quentes e 3 Saladas - R$ 24,90<br></div>
<div id="op2"><input type="radio" name="promo" value="27.90" op="2"> <strong>Opção 2:</strong> 4 Quentes e 4 Saladas - R$ 27,90<br></div>
<div id="op3"><input type="radio" name="promo" value="30.90" op="3"> <strong>Opção 3:</strong> 5 Quentes e 5 Saladas - R$ 30,90<br></div>
<div id="op4"><input type="radio" name="promo" value="0.00"  op="4"> <strong>Opção 4: Monte seu prato à vontade</strong> (mínimo de 6 itens)<br></div>
</div>
<input type="button" id="mudaopcao" class="botao" value=" Mudar a minha opção ">
<br>

<!-- SOPAS -->
<div id="sopas">
<span class="titulo">Sopas:</span><br>
<div><input id="sopa1" type="checkbox" value="15.50"> <strong>Minestrone - feijão branco com tofu defumado e legumes em cubos(P) </strong>: R$ <div id="sopa1v">15,50</div> - Quant.: <select></select></div>
</div>
<br><br>

  • Thank you for your attention GBTX, where do I put the form.js code? Right after Sopa?

  • $('input[name=soups]'). val(str); str = ""; $( "div#Emporio :checkbox:checked" ).each(Function() { var = $(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=promo]" ).on( "click", Function() { $("#sopa1").val(9.90); $("#sopa1v").text("9,90"); });

  • I put it in later, but it didn’t change the value :(

  • I already modify my answer with the full code.

  • Gosh, thank you very much!

  • @Alessandroramos Posted the full code.

  • perfect, it worked!! Thank you very much!!

Show 2 more comments

Browser other questions tagged

You are not signed in. Login or sign up in order to post.