我的表单上有一个复选框,用于通过管理面板访问活动(1)和非活动(0)用户的数据库。一切正常,但问题是在刷新/重新加载页面后复选框被选中或取消选中时,它不会保留checbox的记录。我希望即使在管理员注销并再次登录后也能记住它们。谁能帮我吗 ? Thanx提前
以下是HTML:
<td><input type='checkbox' class='user_status'
id='user_status_<?php echo $data['user_reg_id']; ?>' value='' name = 'user_status'
onclick="userId(<?php echo $data['user_reg_id']; ?>)" />
这是JS:
<script>
function userId(user_reg_id){
$(document).ready(function(){
var link = "<?php echo base_url();?>" ;
var st = $('#user_status_'+user_reg_id).is(":checked") ? 0 : 1;
$.post(link + "administration/um/user_status", {user_reg_id:user_reg_id, user_reg_status:st, ajax : 1}, function(data){
alert (st); //showing status 1 and 0 on alert
if (st == 1){
$("#user_status_").prop(":checked", true)
} else {
$("#user_status_").prop(":checked", false)
};
});
});
}
</script>
答案 0 :(得分:2)
单击数据库时使用ajax存储复选框值。 如果复选框值为1,则还从数据库中获取复选框值而不是选中...否则取消选中:)
答案 1 :(得分:0)
由于您需要持久化数据,我建议使用HTML5 localStorage。根据持久性的不同,您可能需要将其保存在数据库中。我还没有测试过这段代码,实际上并没有这样做过。这意味着让您接近一个有效的解决方案。
function isChecked(user_reg_id){
$(document).ready(function(){
$('#user_status_'+user_reg_id).on('click', function () {
if(localStorage && localStorage.getItem(user_reg_id)){
localStorage.removeItem(user_reg_id);
}else{
$('#user_status_'+user_reg_id).prop('checked', true);
}
}
});
}