Jump to content
Sign in to follow this  
omor

Como somar o valor de um checkbox marcado na mesma pagina

Recommended Posts

Olá alguém sabe como eu faço pra somar os valores de checkbox marcados?

 

mais ou menos assim, só que quando eu clicar em algum checkbox ele já fazer o calculo sem dar refresh na pagina

 

<ul>

<li>
<input type="checkbox" name="check[]" id="ovo" value="Ovo">
<span>Ovo</span>
</li>

<li>
<input type="checkbox" name="check[]" id="cebola" value="Cebola">
<span>Cebola</span>
</li>
<li>
<input type="checkbox" name="check[]" id="calabresa" value="Calabresa">
<span>Calabresa</span>
</li>
<li>
<input type="checkbox" name="check[]" id="bacon" value="Bacon">
<span>Bacon</span>
</li>
</ul>
<?php
$acrescimo_opcoes = 3; //acrescenta R$ 3,00 na conta
if(isset($_POST['check'])){
$opcoes = count($_POST['check']); //conta o número de checkbox marado
echo $opcoes;
$opcoes_esc = implode($_POST['check'],', ');


}

$sql="Select c.*, p.* From carrinho c, produtos p where c.id_produto = p.id_produto and id_pedido = '$id_pedido'";
$totalReg = $carrinho->totalRegistros($sql);

$total = 0;

for($i=0;$i < $totalReg;$i++){
$carrinho->verCarrinho($sql,$i);
$subtotal = $carrinho->getQuantidade() * $carrinho->getPreco()+ ($opcoes * $acrescimo_opcoes);
$total = $total + $subtotal;
$codProd[$i] = $carrinho->getIdProduto();

?>​

Share this post


Link to post
Share on other sites

Se o valor do checkbox já estiver disponível na página, pode utilizar apenas javascript.

 

 

Movido: PHP -> JavaScript

Share this post


Link to post
Share on other sites

E como faz com java script, meu código está mais ou menos do jeito que eu postei acima

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Similar Content

    • By gust.php
      Prezados, boa noite.
       
      Tenho uma lista com vários registros, quero selecionar alguns registros e enviá-los para serem faturados. Estou tentando assim:
       
      Se eu tirar o $.ajax e colocar um alert(id), ele mostra todos os IDs selecionados, direitinho. Usando o ajax não estou conseguindo chamar minha Action no controller.
       
      Podem ajudar?
      // BOTÃO <input type="submit" value="Faturar Serviço" id="envia" class="btn btn-success pull-right" disabled="true"> // checkBox <th class="text-sm"><input type="checkbox" class="checkbox" name="id" id="id" value="<?php echo $le->getIDSERVICO(); ?>"></th> <script> $(function(){ $("[name='id']").change(function(){ var countSelected = $("input[name='id']:checked").length; var $btnEnviar = $('#envia'); $btnEnviar.prop("disabled", countSelected == 0); $btnEnviar.val('Faturar Serviço' + (countSelected > 1 ? 's' : '')); }); }); $(document).ready(function() { $("#envia").click(function(){ var ids = []; $.each($("input[name='id']:checked"), function(){ ids.push($(this).val()); }); $.ajax({ method: 'POST', url: '/sgt/financeiro/faturaServicosSelecionados', data: { ids: ids } }); }); }); </script>  
       
    • By camargo.2018
      Olá, tudo bem?
      alguém pode me ajudar tipo
      TIPO=Produto&ID=4|TIPO=Produto&ID=4|TIPO=Domain&name=canargo&tls=.com|TIPO=Produto&ID=4 Quero pegar isso e transformar nisso
      for($i = 0; $i <= $quantidade;$i++){ if($produto[tipo][$i] == "Produto"){ $idProduto[$i] = $produto[ID][$i]; }elseif($produto[tipo][$i] == "Domain"){ $NameDomain[$i] = $produto[name][$i]; $TlsDomain[$i] = $produto[tls][$i]; } } alguém pode me ajudar ou se conhece outro método. 
    • By Bobrinha
      Olá, estou com um probleminha e não estou achando uma solução amigável e agradeço desde de já qualquer ajuda.
       
      Bom ao usar o php com o file_get_contents e buscar a URL https://www.udemy.com/api-2.0/courses/2064455?fields[course]=title,headline,price ela me retorna o price ou seja o preço em dolar, no entanto se eu jogar essa URL no navegador diretamente ela retorna o valor em real.
       
      O mesmo acontece se eu jogar no jquery com ajax e puxar a url no meu pc e no servidor web o preço fica em dolar mais se jogar diretamente no navegador fica em real o valor 
       
      Alguém saberia por que? 
    • By rxmarti
      Saudações, sou novo no forum, mas não em pesquisas e este tem me ajudado muito em meus estudos, mas esbarrei em um problema e não estou encontrando uma solução que eu entenda seu funcionamento, o problema:
       
      O form que estou desenvolvendo em PHP possuí alguns campos checkbox e através de jvs eu consigo habilitá-los ou não por opção sim ou não (radio + onclick):
      <script>
      function enbl(form)
       {
          form.x_daye[0].disabled = false;
          form.x_daye[1].disabled = false;
          form.x_daye[2].disabled = false;
       }
       function disbl(form)
       {
          form.x_daye[0].disabled = true;
          form.x_daye[1].disabled = true;
          form.x_daye[2].disabled = true;
       }
                          
      </script>";  
      <input type=radio name=v_mandaemail value=NAO onClick=disbl(this.form)>NAO
      <input type=radio name=v_mandaemail value=SIM onClick=enbl(this.form)>SIM
           
      <input type=checkbox id=x_daye name=v_exc_day[] value=arq1>arq1
      <input type=checkbox id=x_daye name=v_exc_day[] value=arq2>arq2
      <input type=checkbox id=x_daye name=v_exc_day[] value=arq3>arq3
      ...
       
      Bom, isso está funcionando, mas se houver mais arquivos(arq*) e esta quantidade for listada em um  "while" , como posso fazer que a mesma função oriente qualquer checkbox listado.
       
      Muito grato
       
      RM
       
       
    • By Rafael Freitas
      Fala galera!
      Estou travado em uma parte do projeto que estou fazendo, quem puder me ajudar, desde já agradeço.
      Seguinte,  eu tenho alguns dados gravados em uma tabela no banco. Eu recupero estes dados exibindo em uma tabela o nome do parametro "p_descricao" e um checkbox do lado, segue abaixo:
      <?php $max = 200; if(!$pagina){ $pagina = 1; } $inicio = $pagina -1; $inicio = $inicio * $max; $consulta = ("SELECT * FROM parametros WHERE p_tipo_analise='MICROBIOLOGICA'"); $p_id = $_GET["p_id"]; $query = mysql_query("$consulta LIMIT $inicio,$max"); $todos = mysql_query($consulta); $total = mysql_num_rows($todos); $tp = $total / $max; $regLinha = 4; $i = ceil($max / $regLinha); $j = 1; $z = 0; echo " <table width=100% class='tabela_parametros_itens' border=1><tr> "; while($x = mysql_fetch_array($query)){ echo "<td> <input type='checkbox' name='parametro' value='" .$x[p_descricao]."' checked> " .$x[p_id]." - " .$x[p_descricao]."</td>"; $z++; if($z == $regLinha and $j < $i){ echo "</tr><tr>"; $z = 0; $j++; } if($z == $regLinha and $j == $i){ echo "</tr>"; } } echo "</table>"; Eu coloquei checked para todos estarem marcados, até aí tudo certo. O que acontece é que quando eu cadastro, ele só grava no banco, o último registro, ou então se eu desmarco todos e deixo somente 1 marcado, aí ele grava certo.
       
      O que eu queria era gravar todos os registros que estiverem marcados com a checkbox e não só 1.
       
      Conto com a ajuda de vocês.
       
      Abraço.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.