2015-05-20 118 views
0

我是angularjs和phonegap的新手。我試圖在頁面上構建一個應用程序,用戶可以從9個類別中選擇一個類別。我將一個複選框放在每個類別名稱旁邊以供用戶選擇類別。選擇幾個類別後(通過選中相應的複選框),用戶可以按保存按鈕來保存類別。我的問題是如何保存所有這些類別,以及如何檢索它們?保存並從angularjs本地存儲檢索保存的複選框值

這是我到目前爲止的代碼

<!--html code --> <!-- the items here the titles of the categories pulled from a data.js file--> 
<div ng-repeat="row in items | partition:3"> 
<div ng-repeat="item in row""> 
<input type="checkbox" ng-model="(item.title)"> 
<div>{{item.title}}</div> 

<ons-button modifier="large" ng-click="savecategories()">Ready</ons-button> 

/* angularjs代碼*/

app.controller('categoryController', function($scope) { 
$scope.savecategories = function() { 
    if ($scope.category1) 
    { 
     localStorage.setItem('category1', true); 
    } 
    else { 
     localStorage.setItem('category2', false); 
    if ($scope.category2) 
    { 
     localStorage.setItem('category2', true); 
    } 
    else { 
      localStorage.setItem('category2', false); 
     } 

    /*and so on */ 
     } 
    }); 

我想看看它是否是通過把下面這行代碼的工作,這樣我就得到一個警報,但沒有運氣。

var national = localStorage.getItem('category1'); 
window.alert(national); 

我不知道我在做什麼錯。任何幫助將不勝感激。

+0

添加警報在這SaveCategories和檢查,如果這個函數被調用,我認爲它savecategories – Reena

+0

我不好,拼寫錯了這裏。更正它。 :) – workthat

+0

有什麼我不明白,你能告訴我什麼是$ scope.category1? – carton

回答

0

謝謝大家。我終於明白了。我只是添加了一個函數,每次選中或取消選中複選框時都會調用該函數。

<input type="checkbox" ng-model="item.value" name="item.title" ng-change="savecategories()"> 

在我的js文件,我這樣做:

app.controller('HomeController', function($scope, Data, localStorageService) { 

    $scope.items = Data.items; 

    if (localStorageService.get('items')) { 
     $scope.items = localStorageService.get('items'); 
    } 

    $scope.SaveCategories = function() { 
    localStorageService.clearAll(); 
    localStorageService.add('items',$scope.items); 

    }