我试图在本地存储中保存多个选择值,并且正在设置数据并成功从本地存储中获取数据,但是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/

10-12 14:38
查看更多