我试图在本地存储中保存多个选择值,并且正在设置数据并成功从本地存储中获取数据,但是jquery并未选中该框。
这是我的代码的fiddle
,下面是我正在使用的jquery代码:
$('.cmn').on('click', function() {
var fav, favs = [];
$('.cmn').each(function() { // run through each of the checkboxes
fav = {class: $(this).attr('class'), value: $(this).prop('checked')};
//console.debug(fav);
favs.push(fav);
});
localStorage.setItem("payment", JSON.stringify(favs));
});
$(document).ready(function() {
var payment = JSON.parse(localStorage.getItem('payment'));
if (!payment.length) {return};
//console.debug(payment);
for (var i=0; i<payment.length; i++) {
console.debug(payment[i]);
//alert("."+payment[i].class);
$("."+payment[i].class).prop('checked', payment[i].value);
}
});
最佳答案
Working fiddle。
您应该在i
中添加索引:eq()
以指定元素的索引,因为所有元素都具有相同的类cmn
:
$("."+payment[i].class+':eq('+i+')').prop('checked', payment[i].value);
希望这可以帮助。
关于javascript - 选中复选框,如果localStorage返回值true,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40303968/