2 votes

Afficher les jours de la semaine dans un tableau html en utilisant une boucle jQuery

Actuellement, j'affiche divers paramètres météorologiques dans un tableau et je souhaite également que le jour en cours et les six jours suivants figurent dans la première colonne.

J'ai commencé à créer les jours de la semaine comme ça :

// Make variables for every weekday
var d = new Date();
var weekday = new Array(7);
weekday[0] = "Sunday";
weekday[1] = "Monday";
weekday[2] = "Tuesday";
weekday[3] = "Wednesday";
weekday[4] = "Thursday";
weekday[5] = "Friday";
weekday[6] = "Saturday";

var today = d.getDay();

Et ma table ressemble à ça.

$('#weakly-table').append('<tr><td>Day</td><td>Temperature</td> <td>Description</td> <td> Pressure </td> <td> Humidity </td> <td> Wind speed </td> </tr>') 

    $.each(weaklyWeather.list, function(index, weather) {
    $('#weakly-table').append('<tr><td>' + weekday[today] + '</td><td>' + Math.round(weaklyWeather.list[index].temp.day) + '&#176C  &nbsp</td> <td> <img src="http://openweathermap.org/img/w/'+ weaklyWeather.list[index].weather[0].icon+'"/>' + '</td> <td>' + Math.round(weaklyWeather.list[index].pressure) + ' Pa' + '</td><td>' + Math.round(weaklyWeather.list[index].humidity) + ' %' + '</td><td>' + Math.round(weaklyWeather.list[index].speed) + ' m/s' + '</td></tr>');

Au lieu d'écrire weekday[today] dans la première colonne pour chaque ligne, je veux que ce soit weekday[today + 1], weekday[today + 2] et ainsi de suite mais cela me donnera juste le jour suivant sur chaque ligne.

Des suggestions ?

3voto

Benjamin Gruenbaum Points 51406

Il n'est pas nécessaire d'utiliser jQuery si vous souhaitez simplement itérer dans un tableau. Un simple JavaScript for La boucle fera l'affaire.

for(var i=0;i<weekdays.length;i++){
   console.log(weekdays[i]); //logs the i'th weekday
}

Si vous voulez commencer à un jour de la semaine spécifique, vous pouvez faire ceci

var today = 2; //Tuesday
var numDays = weekday.length;
for(var i=0;i<numDays;i++){
   console.log(weekday[(i+today) % numDays]); 
}

Violon

Fiddle à partir d'aujourd'hui

Ce que nous faisons, c'est utiliser le opérateur de module qui représente le reste. Si vous n'êtes pas familier avec ce système, pensez-y comme au temps dans une horloge. Vous enroulez les valeurs (jours de la semaine) ici (comme dans une horloge).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X