PreCheck input checkboxes from JSON LocalStorage

PreCheck input checkboxes from JSON LocalStorage

by Ermin Bicakcic

HTML

<button class="set">SAVE SETTINGS</button><br><ul id="calsubscribe">
 <li> <small>Full Feed </small><input type="checkbox" class="inp-checkbox" name="subscribecal" data-feed="full"/></li>
     <li> <small>Trip Feed </small> <input type="checkbox" class="inp-checkbox" name="subscribecal" data-feed="trip"/></li>
          <li> <small>Flight Feed  </small><input type="checkbox" class="inp-checkbox" name="subscribecal" data-feed="flight"/></li>
</ul>

JavaScript

var feeds = ["full","trip","flight"];
//var data = JSON.parse(localStorage.getItem("fdsettings"));

//swap myFeeds with feeds to change between above settings and localStorage

// FIRST RUN SETTINGS
updateFeedChks();


$("input[type=\"checkbox\"]").click(function(){
var checkValues = $('input[name=subscribecal]:checked').map(function() {
return $(this).data('feed');
    }).get();
// set Local from checked   
     localStorage.setItem("fdsettings", JSON.stringify(checkValues));
// Run UPdate
    updateFeedChks();
});

// RESHOW CHK AFTER SAVE
function updateFeedChks(){
var myFeeds = localStorage.getItem("fdsettings");//Retrieve the stored data
myFeeds = JSON.parse(myFeeds); //Converts string to object
if(myFeeds == null) //If there is no data, initialize an empty array
myFeeds = [];

for(var fd in myFeeds){
  $('#calsubscribe input[data-feed='+myFeeds[fd]+']').prop("checked", true);
}
}