Javascript 单击复选框更改本地存储阵列中的信息

Javascript 单击复选框更改本地存储阵列中的信息,javascript,arrays,function,jquery-mobile,checkbox,Javascript,Arrays,Function,Jquery Mobile,Checkbox,我有两个数组,分别对应于1到1,一个有类名,一个有“y”或“n”,如果它被接受的话。这两个数组在本地存储中使用JSON.stringify转换为字符串,然后在html中解析出来 到目前为止,我已经让他们根据存储在本地存储中的数组进行排序,并填充div#classesTaken和#未使用的类。我需要的是,当用户单击复选框时,它进入本地存储中的阵列,并将“y”切换为“n”或“n”切换为“y”。 然后,当我刷新页面时,它会适当地调用数组。我正在使用JqueryMobile设计应用程序,并且在一个页面中

我有两个数组,分别对应于1到1,一个有类名,一个有“y”或“n”,如果它被接受的话。这两个数组在本地存储中使用JSON.stringify转换为字符串,然后在html中解析出来

到目前为止,我已经让他们根据存储在本地存储中的数组进行排序,并填充div#classesTaken和#未使用的类。我需要的是,当用户单击复选框时,它进入本地存储中的阵列,并将“y”切换为“n”或“n”切换为“y”。 然后,当我刷新页面时,它会适当地调用数组。我正在使用JqueryMobile设计应用程序,并且在一个页面中使用多个页面。这是到目前为止我的代码

function myFunction() {
    var cn2 = JSON.parse(localStorage.getItem('className'));
    var ct2 = JSON.parse(localStorage.getItem('classTaken'));

    for (var i = 0; i < ct2.length; i++) {
        var info = '<li>' + '<input type="checkbox" class="myCheckbox" id=["a" + i]> <br>' + cn2[i] + ' id# ' + i + '</li>'

        $('#myCheckbox').click(function () {
                if (ct2[i] = "y") {
                    ct2[i] = "n"
                } else {
                    ct2[i] = "y";
                }

            });
        if (ct2[i] == "y") {
            $('#classesTaken').append(info);
        } else {
            $('#classesNotTaken').append(info);
        }
    }
}
函数myFunction(){
var cn2=JSON.parse(localStorage.getItem('className');
var ct2=JSON.parse(localStorage.getItem('classtake');
对于(变量i=0;i'+cn2[i]+'id#'+i+''
$(“#我的复选框”)。单击(函数(){
如果(ct2[i]=“y”){
ct2[i]=“n”
}否则{
ct2[i]=“y”;
}
});
如果(ct2[i]=“y”){
$(#classesTaken')。附加(信息);
}否则{
$('#classesnottake')。追加(信息);
}
}
}

为什么要访问循环中的元素?您只需要向同一个元素添加多个执行相同操作的事件侦听器,其思想是检查每个类的每个复选框。