如何使用本地存储存储多个复选框

时间:2012-03-12 16:03:49

标签: javascript jquery ajax local-storage

所以,说实话,我将很难解释这一点,所以我先生道歉。 基本上我填写了一个带有城市名称的复选框列表。使用ajax。我想要做的是允许检查多个复选框,并将每个复选框值存储在本地存储中的一个单一键中。我想在本地存储中看起来就像这样:城市:纽约,洛杉矶,迈阿密。我已经尝试了所有我知道的东西,我甚至不知道如何在谷歌中对它进行短语,所以如果有人能让我感觉很棒。我发布下面的代码。

- 这就是我目前填充复选框列表的方式:

    $(document).delegate(“#main”,“pagecreate”,function(){

    var citySelect = new Array();

    $.ajaxSetup({
        cache: false
    })
    $.ajax({
        url: 'base_city.php',
        data: '',
        isajax: 1,
        dataType: 'json',
        success: function (data) {
            var $city_box = $('#city-selector');

            $city_box.empty();

            for (var i = 0, len = data.length; i < len; i++) {


                $city_box.append("<label for='city_select'><input type='checkbox' name='city_select[]' class='citySelect' value='" + data[i].city + "'>" + data[i].city + "</label>");


            }
        }
    });

});

- 这就是我目前存储值的方式:

<script type="text/javascript">
                function filterForm() {
                var cityNames = $('.city_select').attr('value');
                localStorage.setItem("city2",  JSON.stringify(cityNames));
                window.location = "#main";  
                location.reload();

            }


            </script>

1 个答案:

答案 0 :(得分:0)

尝试替换

$('.city_select').attr('value');

通过

var arr = [];    
$("input[type=checkbox].city_select:checked").each(function(){arr.push(this.value);});