如何在页面刷新后检查复选框

时间:2014-11-18 06:15:46

标签: javascript jquery codeigniter checkbox sqlyog

我的表单上有一个复选框,用于通过管理面板访问活动(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>

2 个答案:

答案 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);
            }
        }
    });
}