JQuery - Problema al votar comentario con Ajax-Jquery-PHP

   
Vista:

Problema al votar comentario con Ajax-Jquery-PHP

Publicado por Enrique (3 intervenciones) el 14/03/2015 18:35:42
Hola, tengo un sistema de noticias y comentarios hecho con PHP y Jquery. Los comentarios se adicionan con Ajax y se puede votar por un comentario tambien con Ajax, el problema esta en que cuando adiciono un nuevo comentario como ese codigo no aparece en el codigo fuente de la pagina pues fue añadido sin recargar con la funcion de jquery "append" pues no se puede votar por ese comentario hasta tanto la pagina no haya sido recargada. Aqui les dejo un fragmento del codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
$(document).ready(function() {
 
 
    $('#boton').on('click',function(evento){
        ..............................
 
        $.ajax({
            type: "POST",
            url: adicionarComent,
            data: {"autor" : autor,"comentario" : comentario,"noticia_id" : noticia},
            success: function(msg){
 
//aqui adiciono una nueva fila a la tabla
 
$('#fila').append('<tr>
                                 <td>'+autor+'</td>
                                <td>'+comentario+'</td>
                                <td><div id='+msg['id_comentario']+'>'+0+'</div><a href="" class="votar_new'+msg['id_comentario']+'" data-id='+msg['id_comentario']+'><img src="../../img/votar.png" width="30"></a> </td></tr>');
 
//la funcion votar no funciona para esta nueva fila añadida por ajax y si despues que se regarga la pagina
 
  }
 
}); // Ajax Call
evento.preventDefault();
}); //event handler
     votar();//aqui llamo a la funcion para votar por un comentario
}); //document.ready
 
 
function votar()
{
    $('.votar').on('click',function(evento){
        id = $(this).data('id');
 
        $.ajax({
            type: "POST",
            url: urlComentarios,
 
            data: {"id" : id},
            success: function(msg){
 
                $('#'+id).empty();
                $('#'+id).append(msg);
 
            }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Problema al votar comentario con Ajax-Jquery-PHP

Publicado por xve (557 intervenciones) el 14/03/2015 20:11:00
Hola Enrique, segun veo, el evento click se genera en la clase "votar" y en el mensaje que añades con append() la clase es "votar_new"... creo que por eso no te funciona!!!

Puedes cambiar votar_new por votar y comentarnos?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema al votar comentario con Ajax-Jquery-PHP

Publicado por Enrique (3 intervenciones) el 16/03/2015 13:33:57
Gracias XVE por tu respuesta. Ya resolvi el problema de la siguiente manera, concateno el id del nuevo comentarioa la clase votar y agrego el evento onclick a esta nueva clase y de esa manera funciona para cada nuevo comentario en caso de que no se haya recargado la pagina

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<a href="" class="votar'+msg['id_comentario']+''" data-id='+msg['id_comentario']+'>
 
$('.votar'+id).on('click',function(evento)
{
 id = msg['id_comentario';
 
$.ajax({
 type: "POST",
url: urlComentarios,
data: {"id" : id},
 success: function(msg)
{
$('#'+id).empty(); $('#'+id).append(msg);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

Problema al votar comentario con Ajax-Jquery-PHP

Publicado por xve (557 intervenciones) el 16/03/2015 21:02:07
Gracias por comentarlo Enrique!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar