Ich habe derzeit eine Seite, die Daten für verschiedene Teams anzeigt.Speichern der Benutzerauswahl beim Aktualisieren der Seite
Ich habe einige Daten, auf die der Benutzer klicken kann, um es in einen "An" - oder "Aus" -Zustand zu versetzen, wobei für jedes ein anderes Symbol angezeigt wird. Es ist im Grunde wie eine Checkliste, nur ohne die physischen Kontrollkästchen.
Ich möchte mich erinnern, welche der "Checkboxen" angekreuzt wurden, auch nachdem der Benutzer die Seite aktualisiert oder den Browser schließt und später wiederkehrt.
Ich habe gehört, dass localStorage
ist eine gute Option, aber ich bin mir nicht sicher, wie man es in einer Situation wie meins verwendet.
Zur Zeit habe ich diesen Code:
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);
});
}
Dies macht Reihen ein Team zu vertreten. Die Zeilen werden mit ihrer farblichen Hervorhebung beibehalten, wenn der Benutzer während einer Browsersitzung verschiedene Teams betrachtet.
Das ist mein 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>
Und einige CSS zu zeigen, welche Listenelemente sind "on" und "off".
Wie kann die Seite an die Farbhervorhebung erinnern?
Haben Sie Ihr Markup? Ich kann es dann in JS Fiddle laufen lassen und schauen, ob es funktioniert. –
Hoppla! Ja, fügte hinzu, mein Schlechter. – Sej
cookies, localstorage, serverseitige Speicherung über 'onbeforeunload' oder' beforeunload' viele Optionen hier. –