JQuery - codeigniter

   
Vista:

codeigniter

Publicado por juan (1 intervención) el 26/07/2016 21:50:12
amigos buenas :
trabajo con codeigniter y jquery + php
realize en mi controlador un llamado al modelo el cual me trae los datos correctamente y los cargo asi

******************************************** CONTROLADOR
1
2
3
4
5
6
7
8
9
10
11
12
13
if ($resultado_traeVif) {
 
            foreach ($resultado_traeVif as $row) {
                $contenido = $contenido . '<tr id="'. $row['id']. '" class="btonseleccion" >';
                $contenido = $contenido . '<td>' . $row['nombres'] . '</td>';
                $contenido = $contenido . "</tr>";
            }
 
        } else {
            $contenido = 3;
        }
        echo($contenido);
    }

*************Y LO MUESTRO ASI EN LA VISTA POR EL JS

1
$("#tbody_contenido").html(data);

el problema que como ven el
1
'<tr id="'. $row['id']. '" class="btonseleccion" >';

tengo una class que necesito ejecutar con jquery.
y no funciona alguien podria guiarme o ayudarme porfavorrrrr
gracias..
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 Vainas

codeigniter

Publicado por Vainas (96 intervenciones) el 30/07/2016 18:21:39
Buenas:

Independientemente de codeigniter lo que sucede es que envias html al cliente y digamos que en el cliente tienes que decirle de alguna forma que esa clase tiene un onclick asignado... Puedes hacerlos de muchas formas.

1. Envias el cliente html y un pequeño <script></script> que asigna el onclick a esas etiquetas (esta solucion no me gusta por que si ya tienes etiquetas en el cliente les asignas dos o mas veces el evento onclick)

2. Cuando recibes los datos y haces $("#tbody_contenido").html(data); en la siguiente linea y dentro del ajax success haces primero un off y luego un on a esa clase del evento onclick (primero eliminas el evento para todas las etiquetas y luego se lo asignas tanto a las que ya estaban como a las que llegan nuevas).

3. Asignas el evento una etiqueta padre por encima de las que llegan (Este es el que me gusta a mi). pongamos un ejemplo:

Tu tienes esto:

1
2
<table id="tbody_contenido">
</table>

Y dentro metes el contenido con

1
$("#tbody_contenido").html(data);

y en otro sitio tienes

1
2
3
$( "#btonseleccion" ).click(function() {
   //... aqui el codigo de tu click
});

y esto ultimo podemos cambiarlo por esto:

1
2
3
$( "#tbody_contenido" ).on( "click", "#btonseleccion", function() {
   //... aqui el codigo de tu click
});

Fijate que le asignas el click a uno por encima pero cuando llamas a on le dices que se ejecute solo cuando se hace click dentro de btonseleccion. Es una forma dinamica de agregar eventos a objetos que se crean dinamicamente.

Espero que se entienda.

Saludos.
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