javascript - 在 fetch 加载页面后保持复选框处于选中状态
问题描述
我正在寻找一种在加载页面后保持复选框选中的方法,我在下面做的是,我有一个带有名称的表格,我想如果用户选中了复选框,那么它将更新表格中的数据库并进行排序然后再次返回以刷新页面,如果用户取消选中该复选框,它将再次更新数据库并再次重新加载页面..但是在这里,当我选中该复选框时,页面自动重新加载并且未选中复选框。
在用户取消选中它之前,我怎么能保持选中状态?
function check(){
let checkstatus = document.querySelectorAll("input[type='checkbox']");
for(let i = 0; i < checkstatus.length; i++){
let checkedID = checkstatus[i].getAttribute("data-checked");
checkstatus[i].addEventListener('change', function () {
if(checkstatus[i].checked){
let url = "update.php?checked=" + checkedID;
fetch(url, { credentials: 'include' })
.then(response => response.text())
.then(bringnames)
checkstatus[i].checked = true;
}else if(!checkstatus[i].checked){
let url = "update.php?unchecked=" + checkedID;
fetch(url, { credentials: 'include' })
.then(response => response.text())
.then(bringnames)
}
});
}
}
function bringnames(){
let url = "bringnames.php";
fetch(url, { credentials: 'include' })
.then(response => response.json())
.then(function(data){
console.log("Hello");
})
}
解决方案
您可以使用 localStorage 存储复选框状态,刷新页面后,您可以从 localStorage 获取状态。
示例:在刷新之前保存 checkboxStatus :
localStorage.setItem('checkboxStatus', true)
刷新后:
const checkboxStatus = localStorage.getItem('checkboxStatus')
推荐阅读
- hive - 无法将 hive jdbc-handler 与 SQL Server 数据库一起使用
- angular - 如何在ngb-pagination的href属性中添加url
- r - 替换有45781858行,数据有1752611
- python - Plotly Python - 在饼图中添加标签领导线
- pandas - Pandas 用不同的 DF 唯一均值划分 DF 列唯一行
- c# - 在winforms中从另一个访问控件
- javascript - mapDispatchToProps 和 {action} 有什么区别
- python - 在 pandas 中根据 groupby 和条件和 groupby 创建一个新列
- .net - EFCore cli 生成无用的迁移
- linux - 如何避免具有权限的文件????????? 在构建 docker 容器时