ich so etwas wie dies in PHP haben:localstorage: Shop Kontrollkästchen aktiviert automatisch
if(isset($_POST['submit']){
$check = in_array($row['service_object_id'], $values) ? 'checked' : '';
}
echo '<input type="checkbox" class="faChkRnd" id="'.$row['service_object_id'].'" name="list[]" value="'.$row['service_object_id'].'" '.$check.'>';
Jedes Mal, wenn ich einen Submit-Button drücken, wird die Kontrollkästchen mit Werten innerhalb $check
überprüfen. Es funktioniert gut, aber ich möchte die Kontrollkästchen in LocalStorage automatisch nach dem Drücken der Taste gespeichert speichern.
ich bereits dieses Skript verwendest sie nach dem Klick zu speichern, aber es wird nicht automatisch funktionieren:
<script type = "text/javascript">
$('.faChkRnd').on('click', function() {
var fav, favs = [];
$('.faChkRnd').each(function() { // run through each of the checkboxes
fav = {id: $(this).attr('id'), value: $(this).prop('checked')};
favs.push(fav);
});
localStorage.setItem("favorites", JSON.stringify(favs));
});
$(document).ready(function() {
var favorites = JSON.parse(localStorage.getItem('favorites'));
if (!favorites.length) {return};
console.debug(favorites);
for (var i=0; i<favorites.length; i++) {
console.debug(favorites[i].value == 'on');
$('#' + favorites[i].id).prop('checked', favorites[i].value);
}
});
</script>
Irgendwelche Ideen? Vielen Dank !
Mit dieser Lösung wird die localStorage gelöscht, nachdem ich die Seite aktualisiert habe, da ich den Wert der Checkboxen bekomme, die erst überprüft werden müssen, nachdem ich eine Schaltfläche gesendet habe. Ich habe eine alternative Lösung ohne JS gefunden: Ich speichere meine $ check Werte in eine SESSION ... Wenn du denkst, dass du das mit JS lösen kannst, sei nicht schüchtern :) – xarj
Wenn du die Seite aktualisierst, musst du Daten speichern Sitzung oder Cookie, um es in Kontrollkästchen zu setzen das gleiche wie: 'var localStorage = sessionStorage;' – Xupitan