Ir para conteúdo

Authent

Members
  • Total de itens

    2
  • Registro em

  • Última visita

Posts postados por Authent


  1. Gente tenho um laço de repetição onde exibi uma lista , nele contem um botão para atualizar o nível desses itens, porem queria que a pagina não desse refresh e ao mesmo tempo enviasse uma msg para o "TD" daquele item atualizado, e utilizei o Ajax que envia no metodo post o id, porem ele está enviando só o ultimo id da lista alguem poderia me ajudar. Abaixo explicarei melhor

     

    while($row = $select->fetch(PDO::FETCH_ASSOC)):
    ?>
    	<tbody>
    
    		<tr> 
    			<td><?php echo  $row['nome'];?></td>
    			<td><?php echo $row['data'];?></td>
                <td class="contador<?php echo $row['id'];  ?>">
                    <ul class="actions">
                       <li><a href="" id="<?php echo $row['id'];?>" class="ative btnUpdate"><i class="fas fa-check"></i> Atualizar</a></li>  
                    </ul>
                </td>
    
            
    		</tr>
    	</tbody>
    
        <form class="ajax_form">
        <input type="hidden" class="id" name="id" value="<?=$row['id']?>" />
        </form>
        
    <?php     endwhile;   ?> 

    Nesse laço de repetição eu adicionei um td com uma class ID, para que a msg enviada fosse só para aquele td, até ai esta funcionando normal

    e o link que contem o ID = id, e um formulario dentro do while, e o valor do input é o valor do id

     

    <script>
    
    $(document).ready(function(){
        $("body").delegate('.btnUpdate', 'click', function(e){
            e.preventDefault() //Para anular o comportamento padrão do link
            var dados = $(".ajax_form").serializeArray();
            var id = $(this).attr("id");
            var contador = id;
    
            $.ajax({
                url: "action/test.php",
                type: "POST",
                data: dados,
                success: function (resultado) {
                    console.log(resultado);
                    $('.contador'+contador+'').html(resultado);
                },
                error: function (jqXHR, textStatus, errorThrown) {
                                    alert(jqXHR)
                                    console.log(jqXHR);
                }
    
            });
    
        })
    
    });
    </script>

    e no script do Ajax ele recupera os dados, e enviar uma msg de sucesso para a class .contador+id(nessa parte está funcionando perfeitamente), porem como mencionado o id que está sendo enviado para o arquivo test.php é sempre o ultimo id do meu while alguem poderia me ajudar. se houver outro método estou aceitando também

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.