onchange创建自动保存函数(javascript)不起作用
工作方式。单击以保存到本地存储:onchange创建自动保存函数(javascript)不起作用,javascript,arrays,onchange,autosave,Javascript,Arrays,Onchange,Autosave,工作方式。单击以保存到本地存储: $("check").onclick = function(){ parkArray = [check1,check2,check3,check4,check5]; localStorage.removeItem ("saveArray"); localStorage.setItem("saveArray",JSON.stringify(parkArray)); onchange无法自动保存到本地存储 park
$("check").onclick = function(){
parkArray = [check1,check2,check3,check4,check5];
localStorage.removeItem ("saveArray");
localStorage.setItem("saveArray",JSON.stringify(parkArray));
onchange无法自动保存到本地存储
parkArray = [check1,check2,check3,check4,check5];
parkArray.onchange = function () {
localStorage.removeItem ("saveArray");
localStorage.setItem("saveArray",JSON.stringify(parkArray));
如果我希望阵列在更改时自动保存,有人能给出如何解决此问题的建议吗?
多谢各位
原始链接:您必须使用回调函数
// initalize
var parkArray = [check1,check2,check3,check4,check5];
// change
changeParkArray([check4,check5,check6,check7,check8], onChangeParkArray);
// change ahain
changeParkArray([check9,check10,check12,check21,check100], onChangeParkArray);
// the function who changes the array
function changeParkArray(newValue, callback){
parkArray = newValue;
callback(newValue);
}
// function to run after ParkArray is changed
function onChangeParkArray(data){
localStorage.removeItem ("saveArray");
localStorage.setItem("saveArray",JSON.stringify(data));
}
不能在jQuery对象上使用onclick函数,因为它用于JavaScript对象,例如document.getElementById'element'。onclick。。。。应该是。单击或。单击 如果您没有正确地定位元素,请检查。。。它是一个类还是一个id 阵列原型中不存在onchange。它只适用于输入和选择之类的DOM对象 您可以对阵列执行的操作是检查阵列parkArray是否与localStorage中的阵列相同 e、 g
您是否可以使用AngularJS?还是你用普通JS来限制?谢谢Lugaru。如果有帮助的话,我愿意使用所有类型的框架。在这种情况下,使用AngularJS,您可以使用$watch或ngChange这样的人员来动态监控更改,而无需任何额外的代码。Xlander,感谢您的反馈。让我来做吧!安德烈亚斯,谢谢你!你的意思是:changeparray[new ck1,newck2,newck3,newck4,newck5]=functiondata{localStorage.removietem saveArray;localStorage.setItemsaveArray,JSON.stringifydata;};不,您使用两个参数调用函数。一个用于新值,另一个用于在值更改为点时要运行的函数。如果新值已更改,请检查它,对吗?非常感谢。我不确定你是否明白我想做的事。我更新了答案。我希望它清楚!
$("#check").click(function(){
var saveArray = (localStorage.saveArray != undefined) ? JSON.parse(localStorage.saveArray) : [];
parkArray = [check1,check2,check3,check4,check5];
saveArray.forEach(function(v, i){
if(parkArray.indexOf(v) < 0){
localStorage.removeItem ("saveArray");
localStorage.setItem("saveArray",JSON.stringify(parkArray));
}
});
});