Документация по https://select2.org/data-sources/formats гласит:
Select2 ожидает очень специфический формат данных .... Каждый объект должен содержать, как минимум, id и свойство text .
(выделено жирным шрифтом)
Ваш объект JSON не содержит ни одно из этих свойств.Таким образом, select2 не знает, что делать с информацией, которую вы ей предоставляете.Он не ожидает «телефонного» свойства и не будет его искать.Он специально ищет поля, упомянутые в документации, и ничего более.
Данные, которые вы предоставляете select2, должны выглядеть примерно так:
[
{"id": 1, "text":"+924444444444"},
{"id": 2, "text":"+926666666660"},
{"id": 3, "text":"+92000000600"},
{"id": 4, "text":"+923665588975"},
{"id": 5, "text":"+929966557711"},
{"id": 6, "text":"+92255663377"},
{"id": 7, "text":"+921155775544"},
{"id": 8, "text":"+925588665544"}
]
Вы, вероятно, можете вложить все, что захотитеполе «id», но оно должно быть там, а значения должны быть уникальными.
В идеале вы должны изменить свой код на стороне сервера, чтобы напрямую предоставлять JSON в этом формате.Если по какой-либо причине это невозможно, вам придется написать некоторый код в функции JavaScript processResults
для преобразования данных, прежде чем передавать их в select2.