Select2 Search не выделяет вводимый текст, показывая только все результаты - PullRequest
0 голосов
/ 10 февраля 2020

МОЙ PHP / HTML:

<select class="js-data-example-ajax"  name="office_feature_property" id="office_feature_property" >
      <option value="3620194" selected="selected">Search Property Here</option>
</select>

МОЙ JS КОД:

 $('.js-data-example-ajax').select2({
        ajax: {
            url: 'http://abc.defg.com.au/wp-json/api/listings/all?limit=20&type=property&status=current&address=&paged=1',
            dataType: 'json',
            processResults: function(data, params) {
                let results = [];
                for (let i in data.results) {
                    results.push({
                        id: data.results[i].id,
                        text: data.results[i].title + ' ' + data.results[i].address.suburb
                    });
                }
                return {
                    results: results
                };
            },
            // cache: true
        },
        minimumInputLength: 1,
        templateResult: formatRepo,
        templateSelection: formatRepoSelection,
    });

    function formatRepo(repo) {
        if (repo.loading) {
            return repo.text;
        }
        var $container = $(
            "<div class='select2-result-repository clearfix'>" +
            "<div class='select2-result-repository__meta'>" +
            "<div class='select2-result-repository__title'></div>" +
            "</div>" +
            "</div>"
        );
        $container.find(".select2-result-repository__title").text(repo.text);
        return $container;
    }

    function formatRepoSelection(repo) {
        return repo.title || repo.text;
    }

Я не могу поделиться API, но вот как это выглядит:

{
  "total": 9,
  "status": "SUCCESS",
  "success": true,
  "results": [
    {
      "id": 7990,
      "uniqueID": "5e278463-e166-472c-b509-d1607f6a5284",
      "address": {
        "suburb": "Sylvania Waters"
      },
      "title": "20 Murray Island",
      "slug": "http://djw.steppsclients.com.au/property/house-nsw-sylvania-waters-5e278463-e166-472c-b509-d1607f6a5284/",
      "type": "property",
      "propertyHeading": "Magnificent island deep waterfront position",
      "propertyCategory": "House",
      "propertyBed": "4",
      "propertyBath": "3",
      "propertyParking": 2,
      "propertyStatus": "current",
      "propertyImage": {
      ..........

И вот результат: enter image description here

Как вы можете видеть, я набрал "162a", но случилось то, что он не выбрал 162a и это все еще внизу. Я думал, что это может быть проблема css, но это не так.

Я читал этот сайт https://select2.org/data-sources/ajax, но я до сих пор не могу понять это, я думаю, что я запутался в processResults? Что вы думаете? Пожалуйста, помогите

...