Как изменить язык «Результаты не найдены» в Select2 v4.0

Я пытался использовать параметр «language.noMatches» при запуске Select2 и его вызове неопределенной функции? Как мне изменить этот фрагмент текста? Я хотел бы включить кнопку html, которая добавила бы ввод от пользователя, если он не был найден. Я пытался сделать это как функцию, а также обычный текст. Я также удалил весь html, чтобы увидеть, делает ли это это.

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

   ...

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

Ранее это было «formatNoMatches» в Select2 v3.5.


person Anthony Conklin    schedule 27.03.2015    source источник
comment
Из-за текущей ошибки в работе переводов вам необходимо указать их все в language.   -  person Kevin Brown    schedule 28.03.2015


Ответы (3)


Параметр noMatches нигде не встречается в исходном коде.

Фактическая опция называется noResults. Рабочая версия вашего примера:

$('#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;
    }
});

Вам также необходимо переопределить escapeMarkup, чтобы кнопка отображалась правильно, в соответствии с этой ошибкой.

person Mariano Dupont    schedule 18.07.2015
comment
как мне получить пользовательский ввод и перейти к noResults? например `noResults: function(term){ return term+ Не найдено, попробуйте другое; }` - person Shiro; 17.09.2015
comment
Примечание: это было ОЧЕНЬ полезно, потому что я вообще не знал, как изменить какие-либо сообщения. Это относится ко всем сообщениям в каталоге i18n. - person Joel Worsham; 12.12.2016
comment
@ Широ, ты нашел решение своей проблемы? - person jameshwart lopez; 10.08.2017
comment
Немного короче: language: { noResults: () => "No Results Found (modified)",}, - person Aldo; 26.04.2021

Вероятно, вам нужно добавить скрипт для языка, который вы хотите использовать. Что-то вроде этого:

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

И тогда вы можете установить язык по умолчанию:

$(".select2").select2({
  "language": "pt-BR"
});
person monteirobrena    schedule 27.01.2016
comment
Спасибо за это хорошее и рабочее решение. Это должно быть добавлено в официальную документацию select2! После некоторых проверок файл pt-BR.js может быть расположен в любом каталоге и иметь любое имя, важным моментом является то, что в начале файла он возвращает e.define("select2/i18n/pt-BR"... для распознавания. - person Edouard Thiel; 05.08.2016
comment
если ваше приложение является многоязычным, все, что вам нужно сделать, это импортировать нужный вам язык сценария, а select2 позаботится обо всем остальном в соответствии с текущим языком. - person marsalal1014; 04.04.2017

Вариант для выбора 2.5 кажется formatNoMatches:

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