Javascript “会话未取消设置,因为我未选中复选框”

Javascript “会话未取消设置,因为我未选中复选框”,javascript,php,session,checkbox,Javascript,Php,Session,Checkbox,在这里,当我选中复选框时,会话并没有取消设置。 该值存储在会话中,但当我要取消选中时,未设置不会发生。 我被困在哪里了? 我的代码是,对于checkall和uncheckall function CheckAll() { var frm = document.order; var checkboxobj = document.getElementsByName("id[]"); if(frm.checkall.checked) { for(i=0

在这里,当我选中复选框时,会话并没有取消设置。 该值存储在会话中,但当我要取消选中时,未设置不会发生。 我被困在哪里了? 我的代码是,对于checkall和uncheckall

function CheckAll()
{
    var frm = document.order;
    var checkboxobj = document.getElementsByName("id[]");

    if(frm.checkall.checked)
    {
        for(i=0;i<checkboxobj.length;i++)
        {
            var val = checkboxobj[i].value;
            $.ajax({
                     type: "GET",
                     url: "view_orders_checked_array.php",
                     data: {account: val, task: 'add'}

                 });
            checkboxobj[i].checked = true;

        }

    }
    else
    {
        for(i=0;i<checkboxobj.length;i++)
        {
            var val = checkboxobj[i].value;
            $.ajax({
                    type: "GET",
                    url: "view_orders_checked_array.php",
                    data: {account: val, task: 'remove'}

                });
                checkboxobj[i].checked = false;

        }
    }
}

错误的方法。你为什么一个接一个地推每一个元素。要调试,我首先要添加:
var\u dump($task,$\u SESSION['id'],\uu FILE\uu LINE\uu)紧跟在
$key=array\u search($account…
测试之前。我还将在同一测试之后立即添加:
var\u dump($key,$\u SESSION['id'],\uuuu FILE.\uuuu行);
require_once 'includes/config.php';

$account = $_GET['account'];
$task = $_GET['task'];

if($task == "add")
{
    if (!isset($_SESSION['id'])) 
    {
        $_SESSION['id'] = array();

    }
   array_push($_SESSION['id'], $account);
}

else 
{
    //unset($_SESSION['sms_id'][$account]);
    if (($key = array_search($account, $_SESSION['id'])) !== false) 
    {
        unset($_SESSION['id'][$key]);
    }
}
print_r($_SESSION['id']);