我正在使用本地存储以允许用户在提交之后返回到表单,并修改之前保留的值。本地存储没有for循环工作问题
我成功地使用jQuery的存储API(对于set()和get()),但只写出每一个表单元素的长手,并不理想。相反,我想要将所有表单元素标识符都推送到一个数组,并遍历数组。第一部分,推动阵列,就像一个魅力,但我使用的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]);
}
}());
资源:
- 的jQuery v1.11.0
- jQuery Storage API
$(“#”+ selectArray [i] .change(=> $(“#”+ selectArray [i ])。change( – artm 2014-10-01 09:56:00
我还没有修复它,但认为我在循环中受到函数的影响 – Len 2014-10-01 09:57:28
也是在更改事件中,为什么要从selectArray中取值?是不是应该从select中取出? – artm 2014-10-01 09:57:37