Mam obecnie stronę, która wyświetla dane dla różnych zespołów.Zapisywanie wyboru użytkownika podczas odświeżania strony
Mam niektóre dane, które użytkownik może kliknąć, aby stan "włączony" lub "wyłączony", pokazując inną ikonę dla każdego. Jest to zasadniczo jak lista kontrolna, tylko bez fizycznych pól wyboru.
Chciałbym zapamiętać, które z "pól wyboru" zostało zaznaczone, nawet po tym, jak użytkownik odświeży stronę lub zamknie przeglądarkę i powróci później.
Słyszałem, że localStorage
jest dobrym rozwiązaniem, ale nie jestem pewien, jak go użyć w takiej sytuacji jak moja.
Obecnie mam ten kod:
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);
});
}
To sprawia, że wiersze do reprezentowania zespołu. Wiersze są zachowywane z podświetlaniem kolorów, gdy użytkownik przegląda różne zespoły podczas sesji przeglądarki.
To jest mój 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>
A niektórzy CSS, aby wyświetlić listę elementów, które są "on" i "off".
.on {
background-color: green;
}
.off {
background-color: red;
}
W jaki sposób strona może zapamiętać podświetlanie kolorów?
Czy masz również swój znacznik? Mogę go uruchomić w JS Fiddle i sprawdzić, czy działa. –
Ups! Tak, dodał, moje złe. – Sej
Pliki cookie, localstorage, zapisywanie po stronie serwera za pomocą 'onbeforeunload' lub' beforeunload' wiele opcji tutaj. –