He estado haciendo una página para cargar una lista de tareas desde una base de datos, funciona bien.
Me han pedido que agregue un título al pasar el mouse para verificar la descripción sin tener que hacer clic en una tarea, para facilitar la administración.
Lo hice haciendo un bucle de cada tr en una tabla y agregando el título con .attr('title','test'); .
Este es el código:
console.log("runs?"); that.tableSalidas.row(this).$('tr').each(function(){ data = that.tableSalidas.row(this).data(); $(this).attr('title', data.observaciones); console.log("Working.."); }); console.log("yes...");La consola solo imprime:
runs? yes...Solo después de presionar un botón de recarga que tengo, o un temporizador que he configurado llamadas en la API nuevamente, se agregará el título y el archivo console.log que tengo en los registros de bucle...
runs? (3) Working.. yes...añadiendo los títulos también...
Como se escribió en un comentario anterior, el bloque de código parece ejecutarse antes de que la tabla de datos se llene de datos. Por lo tanto, debe retrasarse hasta que se garantice que los datos están allí. Consulte el evento de init : https://datatables.net/reference/event/init
Algo como lo siguiente debería funcionar:
that.tableSalidas.on('init', function () { console.log("runs?"); that.tableSalidas.row(this).$('tr').each(function(){ data = that.tableSalidas.row(this).data(); $(this).attr('title', data.observaciones); console.log("Working.."); }); console.log("yes..."); });