WooCommerce использует select2 в поле адреса доставки и выставления счета для штата и страны. Я хочу сделать так, чтобы при поиске ka верхний результат был Kansas, а не Alaska.
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 - сопоставлять только слова, начинающиеся с поискового запроса