2012-03-12 76 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