Nada no logro que funcione. Dejo más detalles por si estoy haciendo algo mal:
Código Javascript
:
Ver original<script type="text/javascript">
$(document).ready(function() {
//Función para mostrar las pestañas
$(function() {
$( "#tabs" ).tabs();
});
//Función para mostrar las llamadas de un cliente
$(".verLlamadas").click(function () {
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
$(this).next().fadeToggle("slow");
$.ajax({
type: 'POST',
url: './ajax/devuelveEfectos.php',
data: clacli,
success: function(data) {
//$(this).next().children('td:first').html(data); //Este no funciona, ni el otro
$("."+clacli).html(data); //Sólo conseguí que funcionara poniendo una clase al td
}
})
return false; //Esto no se para qué sirve. Creo que si falla Ajax devuelve false
});
});
</script>
Luego el HTML tiene esta pinta:
Código HTML:
Ver original <theader>
</theader>
<tr class='trEfectos' id='4567'> <td colspan='3' class='13766'></td>
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 originalvar elemento = $(this).next().children("td");
Pero me gustaría saber si hay alguna otra solución.