Ir para conteúdo

POWERED BY:

Arquivado

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

Lucífer Castro

[Resolvido] O que ha de errado no codigo?Pq não esta funcionando?

Recommended Posts

Pessoal, é o seguinte, tenho uma lista que é gerada atravez de dados vindo do DB estou tentando enviar valores atravez do JS, mas não esta dando certo, sempre é passado o valor do primeiro da lista.

alguém poderia me ajudar a resolver isso??

desde agradeço a todos!!

 

aqui vai meu codigo:

 

 

<script type="text/javascript">

$(function(){
	$(".btn-comprar").click(function(){
		$(".tabela-lista-linhas").fadeOut("slow");
		beforeSend:$(".carregando-comprar").fadeIn("slow");
			var linha   	  = $(".linha").val();
		$.post("comprar.php", {linha: linha}, function(pegar_dados_comprar){
			complete:$(".carregando-comprar").fadeOut("slow");
		   $(".retorno-comprar").fadeIn("slow").html(pegar_dados_comprar);
		   $("#voltar-comprar").click(function(){
		   $(".retorno-comprar").fadeOut("slow");
		   $(".tabela-lista-linhas").fadeIn("slow");

			 });
		});		   
	});	   
});




</script>
.
.
.
.
.
.
.
.
// loop vai aqui

		<fieldset class="buy-btn">
		<label class="lab-buy-btn">
		<input type="hidden" class="linha" value="<?php echo $dados_linhas_cadastradas['codigo_linha']; ?>" /> 
		<input type="button" class="btn-comprar"  />
		</label>
		</fieldset>

 

 

Qual o erro no codigo???

para todos elementos da lista, é passado sempre o mesmo valor, ou seja, o primeiro da lista!!!

Obrigado a todos!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não trabalhe com as classes depois de ter entrado no click(function(){

 

use $( this ), .parent(), .find()... e vá percorrendo o DOM até encontrar o elemento que você precisa, assim você não perde 'a referência'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

exemplo:

 

<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
	$('.btn-comprar').click(function(){
		var linha = $( this ).parent('label').find('input.linha').val();

		alert( linha );			
	});
});
</script>
</head>
<body>

<form action="" method="post">
	<fieldset class="buy-btn">
		<label class="lab-buy-btn">12 
			<input type="hidden" class="linha" value="12" /> 
			<input type="button" class="btn-comprar" name="comprar" value="comprar" />
		</label>
	</fieldset>		
	<fieldset class="buy-btn">
		<label class="lab-buy-btn">15 
			<input type="hidden" class="linha" value="15" /> 
			<input type="button" class="btn-comprar" name="comprar" value="comprar" />
		</label>
	</fieldset>
	<fieldset class="buy-btn">
		<label class="lab-buy-btn">3 
			<input type="hidden" class="linha" value="3" /> 
			<input type="button" class="btn-comprar" name="comprar" value="comprar" />
		</label>
	</fieldset>
</form>

</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Iai willian beleza??

cara nao ta dando certo, como me indicou a fazer

os valores estao sendo passados como undefined(vazias)

 

aqui o codigo JS


$(document).ready(function(){

	$(".btn_comprar").click(function(){
		$(".tabela-lista-linhas").fadeOut("slow");


		beforeSend:$(".carregando-comprar").fadeIn("slow");
			var e = $( this ).parent('label').find('input.e').val();
			var o = $( this ).parent('label').find('input.o').val();
			var d = $( this ).parent('label').find('input.d').val();
			var s = $( this ).parent('label').find('input.s').val();

		$.post("comprar_poltrona.php", {e: e, o: o, d: d, s: s}, function(pegardadoscomprar){
			complete:$(".carregando-comprar").fadeOut("slow");
		   $(".retorno-comprar").fadeIn("slow").html(pegardadoscomprar);
		   $("#voltar-comprar").click(function(){
		   $(".retorno-comprar").fadeOut("slow");
		   $(".tabela-lista-linhas").fadeIn("slow");

			 });
		});		   
	});	   
});

 

Aqui a parte onde se encontra os valores das variaveis:

 


<fieldset>
<label>
<input type="hidden" name="e" class="e" value="<?php echo $dados_linhas_cadastradas['codigo_linha']; ?>" />
<input type="hidden" name="o" class="o" value="<?php echo $dados_linhas_cadastradas['origem']; ?>" />
<input type="hidden" name="d" class="d" value="<?php echo $dados_linhas_cadastradas['destino']; ?>" />
<input type="hidden" name="s" class="s" value="<?php echo $dados_linhas_cadastradas['data_saida']; ?>" />
</label>
<label>
<input type="button" class="btn_comprar" value="" />
</label>
</fieldset>


desde ja agradeço pela ajuda e atenção

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

veja que a marcação que você tinha passado antes está diferente dessa de agora.

 

altera para:

<label>
<input type="hidden" name="e" class="e" value="<?php echo $dados_linhas_cadastradas['codigo_linha']; ?>" />
<input type="hidden" name="o" class="o" value="<?php echo $dados_linhas_cadastradas['origem']; ?>" />
<input type="hidden" name="d" class="d" value="<?php echo $dados_linhas_cadastradas['destino']; ?>" />
<input type="hidden" name="s" class="s" value="<?php echo $dados_linhas_cadastradas['data_saida']; ?>" />

<input type="button" class="btn_comprar" value="" />
</label>

ai vai funcionar.

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.