title: jquery Select2 prevent selecting in ajax response
body: <p>I want to prevent from adding a category to the Select2 element if it fails creating the row first in my db. The action is not prevented when i call ev.preventDefault(); Nothing happens.. what is wrong?</p>
  
  <pre><code>    $('#sel2').select2({
              placeholder: 'Enter categories',
              minimumInputLength: 3,
              multiple: true,
              ajax: {
                  url: 'async/get_categories.php',
                  dataType: 'json',
                  quietMillis: 250,
                  data: function (term, page) {
                      return {
                          q: term,
                      };
                  },
                  results: function (data, page) {
                      return {
                          results: data.items 
                      };
                  },
                  cache: true
              },
              formatResult: format,
              formatSelection: format
          }).on('select2-selecting', function(e) {
              console.log(e);
              if (e.val == 4) {
                  // if category id equals 4
                  // do not add this category to select 2
                  // e.preventDefault();
                  // the above works just fine and its just for testing
              }
  
              // Is something wrong here?
              var ev = e;
  
              $.ajax({
                  type: 'POST',
                  url: 'async/create_profile_category.php',
                  data: {
                      profile_id: '1', 
                      category_id: ev.val
                  },
                  success: function(response) {
                      console.log(response);
                      if (response.error === false) {
                          // category assigned successfully
                      } else {
                          // failed to assign category
                          // so i want now to prevent from adding to select2
                          console.log('should not add this category');
                          ev.preventDefault();
                          // the above is not working
                      }
                  },
                  error: function() {
                      alert('Failed to assign category!');
                  }
              });
          });
  </code></pre>