Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, estou a criar um sistema que tem um look em php. dentro desse loop existe um botão e esse botão tem sempre o mesmo nome mas os valores diferentes consuante a leitura do banco de dados.
eu tenho a seguinte função. o unico problema é que os botêm retornam sempre o valor do primeiro botão da página.
$( document ).ready(function() {
$('[id="compracurso"]').on('click', function() {
var idcurso = $('input[name="idcurso"]').val()
alert(idcurso);
$.ajax({
url:'ajax/carrrinho.php',
type:'post',
data:'curso='+idcurso+'&acao=add',
beforeSend: function () {
},
success: function (data) {
console.log(data);
}
});
});
});
Desde já agradeço a ajufa
Você precisa navegar no DOM, apartir do THIS.
http://wbruno.com.br/jquery/navegando-no-dom-jquery/
Se tiver dúvidas, poste o html.
>
Falta um ponto-e-vírgula no final da atribuição de valor à variável idcurso.
O alert da variável idcurso devolve o valor correcto da caixa de texto?
O que é feito na página carrinho.php?
Podes simplificar o primeiro evento da seguinte forma:
$('#compracurso').on('click', function() { //restante código });
O que recebes como resposta (variável data)?
Primeiramente obrigado pelas vosssas respostas.
A variavel idcurso deveria devolver o valor do botão idcurso.
<button id="compracurso" class="">Comprar o curso</button>
<input type="hidden" value="MzA=" name="idcurso">
esse valor é atribuido dinamicamente pelo php. isto é no exemplo acima o valor que deve ser retornado é o MzA=. como existe uma estrtrutura de lop o botão seguinte tem o seguinte html
<button id="compracurso">Comprar o curso</button>
<input type="hidden" value="OQ==" name="idcurso">
e aqui o valor retornado deveria ser o OQ== e assim sucessivamente. contuno o jquery só retorna o primeiro valor que estaja na pagina independentemento do botão que seja clicado o valor retornado é sempre do primeiro botão
obrigado
Você não pode usar IDs.
Poste o html completo.
>
Você não pode usar IDs.
Poste o html completo.
<td align="center" valign="middle">
<article class="curso-item"><figure><img src="uploads/cursos/2015/curso-personal-branding-na-procura-ativa-de-trabalho.png"> <figcaption><img src="uploads/cursos/2015/curso-personal-branding-na-procura-ativa-de-trabalho_h.png"> </figcaption> </figure><h1 class="fontzero">CURSO PERSONAL BRANDING NA PROCURA ATIVA DE TRABALHO</h1><a href="cursos/curso-personal-branding-na-procura-ativa-de-trabalho" class="btn btn-black icon-mais white">Conheça o Curso</a>
<button class="btn btn-white icon-comprar black btn-comprar" id="compracurso">Comprar o curso</button><input name="idcurso" value="NDk=" type="hidden">
</article> </td>
<td align="center" valign="middle">
<article class="curso-item"><figure><img src="uploads/empresas/2015/curso-vestir-para-o-mercado-de-trabalho.png"> <figcaption><img src="uploads/cursos/2015/curso-vestir-para-o-mercado-de-trabalho_h.png"> </figcaption> </figure><h1 class="fontzero">CURSO VESTIR PARA O MERCADO DE TRABALHO</h1><a href="cursos/curso-vestir-para-o-mercado-de-trabalho" class="btn btn-black icon-mais white">Conheça o Curso</a>
<button class="btn btn-white icon-comprar black btn-comprar" id="compracurso">Comprar o curso</button><input name="idcurso" value="NDc=" type="hidden">
</article> </td>
<td align="center" valign="middle">
<article class="curso-item"><figure><img src="uploads/cursos/2015/curso-consultoria-de-imagem-lojas-de-moda.png"> <figcaption><img src="uploads/cursos/2015/curso-consultoria-de-imagem-lojas-de-moda_h.png"> </figcaption> </figure><h1 class="fontzero">CURSO CONSULTORIA DE IMAGEM – LOJAS DE MODA</h1><a href="cursos/curso-consultoria-de-imagem-lojas-de-moda" class="btn btn-black icon-mais white">Conheça o Curso</a>
<button class="btn btn-white icon-comprar black btn-comprar" id="compracurso">Comprar o curso</button><input name="idcurso" value="Mg==" type="hidden">
</article> </td>
obrigado mais uma vez pela ajuda
$( document ).ready(function() {
$('.btn-comprar').on('click', function() {
var $this = $(this),
$td = $this.parents('td'),
idcurso = $td.find('input[name="idcurso"]').val();
alert(idcurso);
$.ajax({
url:'ajax/carrrinho.php',
type:'post',
data:'curso='+idcurso+'&acao=add',
beforeSend: function () {
},
success: function (data) {
console.log(data);
}
});
});
});
ai sim você terá o resultado desejado.
Obrigado. você é fantástico
Falta um ponto-e-vírgula no final da atribuição de valor à variável idcurso.
O alert da variável idcurso devolve o valor correcto da caixa de texto?
O que é feito na página carrinho.php?
Podes simplificar o primeiro evento da seguinte forma:
$('#compracurso').on('click', function() { //restante código });
O que recebes como resposta (variável data)?