gpt4 book ai didi

javascript - for 循环的本地存储不工作问题

转载 作者:行者123 更新时间:2023-12-03 11:43:59 25 4
gpt4 key购买 nike

我使用本地存储来允许用户在提交表单后返回表单并修改保留的先前值。

我成功地使用了 jQuery Storage Api(用于 set() 和 get()),但仅通过为每个表单元素写出长手,并不理想。相反,我想将所有表单元素 id 推送到一个数组并循环遍历该数组。第一部分,推送到数组,工作起来就像一个魅力,但我使用的 for 循环不起作用。

我打算使用 jQuery .each() 函数,但想先了解为什么我的循环不起作用。谢谢。

<小时/>
(function() {

var selectArray = [];

// Getting select ids
$("select").each(function() {
selectArray.push($(this).attr("id"));
});

// Using Local Storage Api
var storage = $.localStorage;

for (var i = 0; i < selectArray.length; i++){

// Get select element
$("#" + selectArray[i]).val(storage.get(selectArray[i]));

// Set select element
$("#" + selectArray[i]).change(function() {
var selectValue = $("#" + selectArray[i]).val();
storage.set(selectArray[i], selectValue);
});

// Check loop is working
console.log(i + ". " + selectArray[i]);

}

}());
<小时/>

资源:

最佳答案

只需像这样更改更改事件处理程序,避免引用 i.变量 i 在这里悬而未决。

$("#" + selectArray[i]).change(function() {

var selectValue = $(this).val();
storage.set($(this).attr('id'), selectValue);
});

这应该有效。

Example

关于javascript - for 循环的本地存储不工作问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26138621/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com