WooCommerce Select2 соответствует США / Канаде и т. Д., Где указано начало строки, а не просто совпадение. - PullRequest
0 голосов
/ 08 июня 2019

WooCommerce использует select2 в поле адреса доставки и выставления счета для штата и страны. Я хочу сделать так, чтобы при поиске ka верхний результат был Kansas, а не Alaska.

Я проверил документацию для select2 и нашел это:

https://select2.org/searching#customizing-how-results-are-matched

Но это решение для детей. Я не знаю, как отредактировать задокументированный пример, чтобы он работал с WooCommerce. Другая статья So предлагает это:

function matchCustom(term, text) {
  console.log('matcher is running');
  if (text.toUpperCase().indexOf(term.toUpperCase()) == 0) {
    return true;
  }
}
jQuery( document ).ready(function() {

  $(".state_select").select2({
    matcher: matchCustom
  });
});

При использовании приведенного выше кода при поиске ka верхний результат будет Alaska, а не Kansas.

Я посмотрел на следующие вопросы:

плагин jquery select2, как сопоставить только начало слова

плагин jquery select2, как получить только результат 'myString%'

select2 search - сопоставлять только слова, начинающиеся с поискового запроса

...