Attualmente ho una pagina che mostra i dati per diversi team.Salvataggio della selezione dell'utente durante l'aggiornamento della pagina
Ho alcuni dati su cui l'utente può fare clic per renderlo uno stato "on" o "off", mostrando un'icona diversa per ciascuno. È fondamentalmente come una lista di controllo, solo senza le caselle di controllo fisiche.
Vorrei ricordare quale delle "caselle di controllo" è stata spuntata, anche dopo che l'utente ha aggiornato la pagina o chiuso il browser e restituisce in seguito.
Ho sentito dire che localStorage
è una buona opzione, ma non sono sicuro di come utilizzarlo in una situazione come la mia.
Attualmente ho questo codice:
team1 = {
"information1": {
"name": "tom",
"age": "34"
},
"information2": {
"name": "bob",
"age": "20"
},
};
team2 = {
"information1": {
"name": "betsy",
"age": "27"
},
"information2": {
"name": "brian",
"age": "10"
},
};
$(document).ready(function() {
$("#displayObject1").on("click", function() {
switchData(team1);
});
$("#displayObject2").on("click", function() {
switchData(team2);
});
$("#table").on("click", ".on", function() {
$(this).removeClass("on");
$(this).addClass("off");
});
$("#table").on("click", ".off", function() {
$(this).addClass("on");
$(this).removeClass("off");
});
});
function switchData(object) {
$("#table").contents("div").remove();
if (!('rows' in object)) {
var rows = [];
Object.keys(object).forEach(function (key) {
if (key != 'rows') {
rows.push($('<div class="row on">' + object[key].name + '</div>'));
}
});
object.rows = rows;
}
object.rows.forEach(function (row) {
$('#table').append(row);
});
}
Questo rende le righe per rappresentare una squadra. Le righe vengono mantenute con l'evidenziazione del colore quando l'utente guarda i diversi team durante una sessione del browser.
Questo è il mio HTML:
<div id="displayObject1">
<span>Display object 1</span>
</div>
<div><hr></div>
<div id="displayObject2">
<span>Display object 2</span>
</div>
<div id="table">
</div>
E alcuni CSS per mostrare quale lista articoli sono "on" e "off".
.on {
background-color: green;
}
.off {
background-color: red;
}
Come può la pagina ricordare l'evidenziazione del colore?
Avete anche il vostro markup? Posso eseguirlo in JS Fiddle e dare un'occhiata per farlo funzionare. –
Oops! Sì, ha aggiunto, il mio male. – Sej
cookie, localstorage, salvataggio lato server tramite 'onbeforeunload', o' beforeunload' molte opzioni qui. –