Ho una tabella contenente un numero variabile di colonne. Ho scritto una funzione per scorrere ogni cella in ogni riga per effettuare le seguenti operazioni:Iterazione tramite celle di tabella utilizzando jquery
- Verificare la presenza di un ingresso
- recuperare il valore dell'ingresso
- Aggiungere un grafico a torta per ogni cella in cui condizione # 1 restituisce true
Ecco il mio codice:
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 });
}
passaggi 1-3 sono basical funziona come descritto Quando viene eseguito, i grafici a torta vengono aggiunti alle celle corrette che mostrano i valori corretti. Il mio problema è che mi aspetto un solo grafico a torta per cella in cui esiste un input. Tuttavia, ho n grafici a torta per cella dove n è uguale al numero di colonne nella tabella. Sospetto che sto usando il metodo each() di jQuery in modo errato. Qualcuno può dirmi cosa ho fatto di sbagliato?
È inoltre possibile utilizzare '$ (this) .find ("TD")'. –
@ShankarSangoli Sì, era così. Funzionando ora. Divertente, stavo provando qualcosa di simile ma ero fuori dalla sintassi (ad esempio questo + 'td'). Grazie per la risposta! – hughesdan
Accertati di accettare la risposta. –