Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde,
estou novamente com dúvida e recorro a vocês, não consegui localizar resposta nas pesquisas que realizei:
Estou desenvolvendo uma lista de casamento, onde listo os produtos valor e deixei um campo input para a noiva digitar a quantidade que deseja daquele produto.
Sem a quantidade eu consegui fazer, mas com a quantidade não.
<tr>
<td><img src="imagem/produtos/imagem_Prodto123.jpg" alt="Prodto123"></td>
<td>Prodto123<br />Banheiro<br />Delta Útil</td>
<td>Por: R$ 1,23</td>
<td><input size="2" maxlength="2" name="quantidade" value="1" type="text"></td>
<td><a class="btn_adicionar" rel="1000"><img src="imagens/botao_adicionar.png" alt="Adicionar"></a></td>
</tr>
<tr>
<td><img src="imagem/produtos/imagem_Produto2.jpg" alt="Pegador de saladas"></td>
<td>Pegador de saladas<br>Cozinha e Bar<br>Invotis Orange</td>
<td>Por: R$ 29,90</td>
<td><input size="2" maxlength="2" name="quantidade" value="1" type="text"></td>
<td><a class="btn_adicionar" rel="5"><img src="imagens/botao_adicionar.png" alt="Adicionar"></a></td>
</tr>
O jquery está assim
<script type="text/javascript">
//grava produto na lista
$(".btn_add").live('click', function(){
//Pegando os valores que foram digitados no formulário e colocando nas variáveis nome e email.
var lista=$("#lista").val();
var quantidade=$("#quantidade").val();
var produto =$(this).attr('rel');;
//alert(produto);$.post("produto_gravar.php", { lista:lista, quantidade:quantidade, produto:produto }, function(get_retorno) {
alert(get_retorno);
});
});
</script>
Não chega O valor quantidade ao php, acredito que seja porque eu tenho o input repitido de acordo com o número de produtos, então pergunto:
Como posso fazer para pegar a quantidade do produto clicado?
Desde já agradeço.
eu não sei como funciona esse this ai, mais sempre que vou passar algum valor pro php
eu utilizo a biblioteca prototypem, então vai ai uma sugestão de leigo...
new Ajax.Request('pega_conteudo.php',
{
method:'get',
onSuccess:function(transport){
var req = transport.responseText || "Error";talvez jquery seja melhor mais ta ai é uma opção...
você escolhe ai get ou post
method:'get',
parameters: {x: '10', y: '18'},
onSuccess:function(transport)...
significa = pega_conteudo.php?x=10&y=18
ai você pega as variavel pelo php e faz oque quiser...
>
$('#alguma_coisa') pega o elemento por ID e, pelo que vi no codigo, nenhum elemento tem ID algum mas nao adianta colocar varios IDs repetidos, tambem nao funciona, acredito que você vai ter que se basear no pai do $(this) para pegar o valor da quantidade...
adicione a classe quantidade no elemento quantidade e tente pegar o valor assim
$(this).parents('tr').find('.quantidade').val();
MUITO OBRIGADAAAAA, paulojuchem!!!
Funcionou perfeitamente!!!
====RESOLVIDOOOO!!!
Você pode pegar o campo diretamente com jQuery, não é necessário criar uma classe, basta pegar o valor do campo pelo nome dele como explicado abaixo:
$("input[name=<nome do campo aqui>]").val();
Se quiser ser mais específica, coloque o tipo também:
$("input[type=<tipo do campo aqui>][name=<nome do campo aqui>]").val();
Desta forma o campo não precisa ter o class e nem o id definidos.
$('#alguma_coisa') pega o elemento por ID e, pelo que vi no codigo, nenhum elemento tem ID algum mas nao adianta colocar varios IDs repetidos, tambem nao funciona, acredito que você vai ter que se basear no pai do $(this) para pegar o valor da quantidade...
adicione a classe quantidade no elemento quantidade e tente pegar o valor assim
$(this).parents('tr').find('.quantidade').val();