Ir para conteúdo

POWERED BY:

Arquivado

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

Matheus Conti

[Resolvido] Problema ao usar Loop

Recommended Posts

Bom estou com um problema meio estranho estou desenvolvendo uma loja online o problema e o seguinte eu tenho um form que tem um input de quantidade de itens e um button

o input de quantidade tem id = quantidade e preciso fazer um loop pra mostrar todos itens da loja

 

dessa forma

funcionando.jpg

 

vou digita um valor ele carrega e faz o calculo sem refresh

digitado.jpg

 

Porem se eu fazer isso

shopwn.jpg

 

 

A primeira div do lado esquerdo continua funcionando mas o segundo que é copia do primeiro não funciona os dois estao com id=quantidade

 

Codigo

$(document).ready(function(){
$("#quantidade").keyup(function(){
	var usr = $("#quantidade").val();
	$("#custo").html('<img src="img/load.gif"/>');
	$.post("pages/preco.php", {quantidade: $(this).val()}, function(valor){
		$('#custo').html(valor);
		})
})
})

 

bom o preco.php não precisa que so retorna a div com o calculo

 

 

alguem me ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você não pode repetir IDs.

 

use classes, e então navegue no DOM com o objeto this, as funções .parent() e .find()

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o teu html.

 

você não pode ter 2 ids iguais. ID é único.

Use classes:

 $(".quantidade").keyup(function(){

e ai dentro da função, use o objeto $( this ) para referenciar o input atual, e as funções .parent() e .find() para ir navegando entre os elementos.

 

 

tente fazer, e poste aqui o html que você está usando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<div id="borderShop">
   		<div id="imgShop"><img src="<?php echo $base;?>/uploadshop/pedra.png" />
   		<span class="titulo"><h3>Pedra</h3></span>
           <span class="qtd">Quantidade
           <label for="quantidade"></label>
           <input name="quantidade" type="text" id="quantidade" class="quantidade" value="1" size="2" maxlength="2">
           </span>
   		<div id="custo"><h3>1.00</h3></div>
           <span class="imgCach"><img src="<?php echo $base;?>/img/moeda.png" ></span>
           <span class="comprar">
           <input type="submit" name="comprar" id="comprar" class="botaoComprar" value="Comprar">
          </span>
   </div> 
   </div>

 

no js tentei assim

$(document).ready(function(){
$(".quantidade").keyup(function(){
	var usr = $( this ).val();
	$("#custo").html('<img src="img/load.gif"/>');
	$.post("pages/preco.php", {quantidade: $(this).val()}, function(valor){
		$('#custo').html(valor);
		})
})
})

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa.. quase cara.. tenta assim agora:

 

 

        $(".quantidade").keyup(function(){
               var $this = $( this );

               $custo = $this.parents('div').find('.custo');

               $custo.html('<img src="img/load.gif"/>');
               $.post("pages/preco.php", {quantidade: $this.val()}, function(valor){
                       $custo.html(valor);
                       });
       });

entendeu? ai no html você troca os id="custo" por class tb.

Compartilhar este post


Link para o post
Compartilhar em outros sites

William Bruno Funcionou muito obrigado espero um dia pode te ajuda tambem ;D

 

eu tambem preciso passa via post o preço assim como eu faco com a quantidade ele esta em um hidden com value <?php echo $lista['preco'];?>

 

 

tentei assim porem nao funcionou

$(".quantidade").keyup(function(){
               var $this = $( this );

               $custo = $this.parents('div').find('.custo');

               $custo.html('<img src="img/load.gif"/>');
               $.post("pages/preco.php", {
                 quantidade: $this.val()
                  preco: $this.val()
                 }, function(valor){
                       $custo.html(valor);
                       });
       });

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.