Code to persist checkbox

Code to persist checkbox

I am trying to persist checkbox (when it is clicked, it will show as clicked, vice versa). This is the code i found online but doesn't work. Can you tell what is wrong with it? Or is there better code?

  1. var checkboxValues = JSON.parse(localStorage.getItem('checkboxValues')) || {},
          $checkboxes = $("input :checkbox");
    
      $checkboxes.on("change", function(){
        $checkboxes.each(function(){
          checkboxValues[this.id] = this.checked;
        });
    
        localStorage.setItem("checkboxValues", JSON.stringify(checkboxValues));
      });
    
      // On page load
      $.each(checkboxValues, function(key, value) {
        $("#" + key).prop('checked', value);
      });