How do you modify "No Results Found" language in Select2 v4.0

74,156

Solution 1

The option noMatches doesn't appear anywhere in the source code.

The actual option is named noResults. The working version of your example is:

$('#search-select').select2({

   ...

   "language": {
       "noResults": function(){
           return "No Results Found <a href='#' class='btn btn-danger'>Use it anyway</a>";
       }
   },
    escapeMarkup: function (markup) {
        return markup;
    }
});

You also need to override escapeMarkup, so the button appears correctly, as per this issue.

Solution 2

Probably, you have to add the script for the language you want to use. Something like this:

<script src="select2/js/i18n/pt-BR.js" type="text/javascript"></script>

And then you can set the default language:

$(".select2").select2({
  "language": "pt-BR"
});

Solution 3

The option for select 2.5 seems formatNoMatches:

$('#search-select').select2({
  formatNoMatches: function () {
  return "No Results Found <a href='#' class='btn btn-danger'>Use it anyway</a>";
  }
});
Share:
74,156
Admin
Author by

Admin

Updated on July 05, 2022

Comments

  • Admin
    Admin almost 2 years

    I attempted to use the "language.noMatches" option when initiating Select2 and its throwing an undefined function? How do I go about modifying that bit of text? I would like to include a html button that would add the input from the user if it wasn't found. I tried doing this as a function as well as plain text. I also removed all html to see if that was doing it.

    $('#search-select').select2({
    
       ...
    
       "language": {
           "noMatches": function(){
               return "No Results Found <a href='#' class='btn btn-danger'>Use it anyway</a>";
           }
       }
    });
    

    This was previously "formatNoMatches" in Select2 v3.5