我目前正在一个项目中,我必须创建一个仅在公司的Intranet服务器上启动的“网站”。 因此,存在一个带有5个复选框的用户界面。目前,我正在将复选框状态存储在本地存储中,如下所示:
<script>
var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {},
$checkboxes = $("#checkbox-container :checkbox");
console.log(checkboxValues);
$checkboxes.on("change", function(){
$checkboxes.each(function(){
checkboxValues[this.id] = this.checked;
});
localStorage.setItem("checkboxValues", JSON.stringify(checkboxValues));
});
// On page load
$.each(checkboxValues, function(key, value) {
$("#" + key).prop('checked', value);
});
</script>
到目前为止,这个方法还不错! 但是,现在我将近一个星期都在努力解决这个问题:
每台设备上的复选框状态都必须相同...例如,如果我在一个设备上勾选一个复选框,则该复选框必须在所有其他设备上被下一个f5勾选... 希望你们能帮助我,并提供一些替代方法来存储复选框状态。
非常感谢您!
祝一切顺利
poza
答案 0 :(得分:1)
如此处所述:https://www.w3schools.com/jsref/prop_win_localstorage.asp
localStorage和sessionStorage属性允许保存键/值 在网络浏览器中配对。
这意味着您的复选框状态保存在客户端。但是,我建议您不要将状态保存在服务器本身(json文件,数据库等)上,而不是分别刷新所有客户端设备上的状态。
您的客户可以使用JavaScript发送一个所谓的fetch-request,以获取状态代码。
我希望这会有所帮助。