    self.enableCheckboxEvents = function() {

      self.$el.on('change', 'input[name="selected"][type="checkbox"]', function(e) {
        var $box = $(this);
        var id = $box.attr('value');
        if ($box.prop('checked')) {
          self.addChoice(id);
        } else {
          self.removeChoice(id);
        }
      });

      // Add ability to select multiple checkboxes (Using Left Shift)
      var lastChecked;
      self.$el.on('click', 'input[name="selected"][type="checkbox"]', function (e) {

        // Store a variable called lastchecked to point to the last checked checkbox. If it is undefined it's the first checkbox that's selected.
        if (!lastChecked) {
          lastChecked = this;
          return;
        }

        // If shift key is pressed and the checkbox is checked.
        if (e.shiftKey && this.checked) {
          // Get the siblings for the checkboxes that are being checked.
          var $checkboxesInScope = $(this).closest('ul.jqtree_common').find('input') || [];
          // Get the Index of the currently selected checkbox. (The one checked with holiding shift)
          var startIndex = $checkboxesInScope.index(this);
          // Get the index of the previously selected checkbox.
          var endIndex = $checkboxesInScope.index(lastChecked);
          // Get a list of all checkboxes inbetween both the indexes and make them checked.
          $checkboxesInScope.slice(Math.min(startIndex, endIndex), Math.max(startIndex, endIndex) + 1).each(function (i, el) {
            $(el).prop('checked', true);
            $(el).trigger('change');
          });
        }
        lastChecked = this;
      });

    };