Tengo una tabla que contiene un número variable de columnas. Escribí una función para iterar a través de cada célula en cada fila para hacer lo siguiente:Iteración a través de celdas de tabla usando jquery
- comprobar la presencia de una entrada
- Recuperar el valor de la entrada
- Anexar un gráfico circular a cualquier celda donde la condición # 1 se evalúa como verdadera
Aquí está mi código:
function addPieCharts() {
var htmlPre = "<span class='inlinesparkline' values='";
var htmlPost = "'></span>"
var colors = ["red", "blue"];
$("#MarketsTable tr").each(function() {
$('td').each(function() {
var value = $(this).find(":input").val();
var values = 100 - value + ', ' + value;
if (value > 0) {
$(this).append(htmlPre + values + htmlPost);
}
})
})
$('.inlinesparkline').sparkline('html', { type: 'pie', sliceColors: colors });
}
Pasos 1-3 son basical trabajando como se describe. Cuando esto se ejecuta, los gráficos circulares se agregan a las celdas correctas que muestran los valores correctos. Mi problema es que estoy esperando solo un gráfico circular por celda donde exista una entrada. Sin embargo, tengo n gráficos circulares por celda donde n es igual al número de columnas en la tabla. Sospecho que estoy usando el método de cada uno de jQuery incorrectamente. ¿Alguien puede decirme qué he hecho mal?
También puede usar '$ (este) .find ("TD")'. –
@ShankarSangoli Sí, eso fue todo. Trabajando ahora. Es curioso que estaba intentando algo similar, pero no tenía la sintaxis (por ejemplo, esto + 'td'). ¡Gracias por la respuesta! – hughesdan
Asegúrate de aceptar la respuesta. –