Ver Mensaje Individual
  #3 (permalink)  
Antiguo 20/02/2013, 02:52
alyciashape
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años, 8 meses
Puntos: 58
Respuesta: Seleccionar el siguiente <td> dentro de un <tr>

Nada no logro que funcione. Dejo más detalles por si estoy haciendo algo mal:

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         $(document).ready(function() { 
  3.             //Función para mostrar las pestañas
  4.             $(function() {
  5.                 $( "#tabs" ).tabs();
  6.             });    
  7.             //Función para mostrar las llamadas de un cliente
  8.             $(".verLlamadas").click(function () {                  
  9.                 var clacli = $(this).next().attr("clacli"); //Esto si que funciona y es el TR cuyo primer TD quiero cambiar. Pero quería hacerlo sin clase                                     
  10.                 $(this).next().fadeToggle("slow");                 
  11.                                 $.ajax({
  12.                     type: 'POST',
  13.                     url: './ajax/devuelveEfectos.php',
  14.                     data: clacli,
  15.                     success: function(data) {
  16.                         //$(this).next().children('td:first').html(data); //Este no funciona, ni el otro
  17.                         $("."+clacli).html(data); //Sólo conseguí que funcionara poniendo una clase al td
  18.                     }
  19.                 })                                 
  20.                 return false; //Esto no se para qué sirve. Creo que si falla Ajax devuelve false
  21.             });
  22.         });                
  23.     </script>

Luego el HTML tiene esta pinta:
Código HTML:
Ver original
  1.     <theader>
  2.          <th>id</th><th>codigo</th><th>nombre</th>
  3.     </theader>
  4.     <tr class='verLlamadas'>
  5.          <td>4567</td><td>4567</td><td>Usuario de prueba</td>
  6.      </tr>
  7.      <tr class='trEfectos' id='4567'>
  8.          <td colspan='3' class='13766'></td>
  9.      </tr>


He tenido que poner el con el id del cliente al elemento o no soy capaz de acceder de la otra forma. Pero como hay varias pestañas puede que el ID se repita así que prefería hacerlo de la otra forma.

Puede que el problema sea que dentro de la funcion ajax el this haga referencia a ajax y no al elemento this que fue el que pulso el evento?

Efectivamente lo he arreglado guardando una referencia al elemento antes de la funcion Ajax:
Código Javascript:
Ver original
  1. var elemento = $(this).next().children("td");

Pero me gustaría saber si hay alguna otra solución.

Última edición por alyciashape; 20/02/2013 a las 02:58