2012-03-12 135 views
0

所以,说实话我会很难解释这个,所以我道歉的先进。 基本上我正在填充城市名称的复选框列表。使用ajax。我想要做的是允许检查多个复选框,并将每个复选框值存储在本地存储中的一个单一密钥中。我想这会在本地存储中看起来像这样:城市:纽约,洛杉矶,迈阿密。我已经尝试了我所知道的一切,我甚至不知道如何在谷歌中使用它,所以如果任何人能够让我这样做会很棒。生病发布我的代码如下。如何存储多个复选框与本地存储

- 这是我当前如何填充复选框列表:

的$(document).delegate( “#主”, “pagecreate”,函数(){

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> 
+0

你当然运行filterForm功能后的元素实际上插入到页面和存在?另外jQuery有一个整洁的小铃叫.val() - – adeneo 2012-03-12 16:17:33

回答

0

TR Ÿ通过更换

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

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

,似乎并没有工作,城市只是出现在本地存储undefined – 2012-03-12 17:11:11

+0

我编辑了我的答案,并成功地进行了测试。 – Alytrem 2012-03-13 07:26:51

+0

现在,当我尝试,我得到这个错误在JavaScript中:Uncaught TypeError:将圆形结构转换为JSON – 2012-03-13 17:27:36