0

我的表单上有一个复选框,用于使用数据库,供活动(1)和非活动(0)用户通过管理面板访问。一切正常,但问题是在刷新/重新加载页面后选中或取消选中复选框时,它没有保留复选框的记录。我希望即使在管理员注销并再次登录后也能记住它们。谁能帮我吗 ?提前感谢

这是 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>
4

2 回答 2

2

当您单击它时,使用 ajax 将复选框值存储在数据库中。如果复选框值是 1 而不是选中,则还从数据库中获取复选框值...否则取消选中 :)

于 2014-11-18T06:25:46.837 回答
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);
            }
        }
    });
}
于 2014-11-18T06:54:33.730 回答