5
respostas

Recuperar itens através de botão por linnha

<tr>
<td>iten</td>
<td>preco</td>
<td>qtd</td>
 <td>
      <button onclick="click()" id="add" type="button" ></button>
</td>
</tr>

Não estou conseguindo clicar no botão e recuperar os valore de cada linha .Somente consigo fazer isso na primeira linha .

Pode elucidar um pouco sobre ?

5 respostas

Olá, Marcelo.

Você pode adicionar o código JavaScript da sua função click?

o problema é que esta funcionando apenas para a 1ª linha .

Coloca o código da função "click()" para sabermos o porquê funcionar para a primeira linha =)

$('.thumbnail button').on('click' ,function (e){

e.preventDefault();

var qt = parseInt($('.addqt').val());

var action = $(this).attr('data-action');

if(action == 'decrease'){

if(qt-1 >=1){

qt = qt -1; }

} else if(action == 'increase'){

qt = qt + 1;

}

$('.addqt').val(qt);

});

Olha, eu acho que estavam faltando algumas coisas no seu HTML como por exemplo o data-action e a classe thumbnail que não constam no código que você colou...

No entanto, o seu código referente a estes atributos estão corretos. A sintaxe de chamada $('.thumbnail button').on('click'....) deve funcionar e você nem precisa deixar onclick no HTML, já que está adicionando este evento no código), assim como a condicional que você criou que checa o valor do data-action. Uma dica nessa parte:

Você pode trocar

$(this).attr('data-action');

por

$(this).data('action')

Veja mais sobre .data() aqui

Focando mais na sua função, quando você utiliza $('.adqqt') você recebe uma lista de elementos da classe .adqqt - Quando se tem uma lista, você pode iterar ela, utilizando o método .each()

Dentro de cada iteração você reproduz a lógica de incremento/decremento e substituição de valores.

Ah, a utilização de .val() é recomendada para resgatar valores de inputs (formulários). Para o seu propósito, imagino que .text() é ideal.

Fiz um demo para elucidar minha explicação, qualquer dúvida é só falar