Установка начальных значений при загрузке с помощью Select2 ajax и шаблонов - PullRequest
0 голосов
/ 26 сентября 2018

Как установить первое значение, отображаемое в select2 (до того, как пользователь выполнит поиск), и чтобы я мог настроить дополнительные поля шаблонов (штат и город)?

$('.postcode2').select2({
    ajax: {
        url: function (params) {
            return "{{ url('/') }}" + "/api/postcodes/" + params.term;
        },
        processResults: function (data) {
            return {
                results: data,
            };
        },
        cache: true,
        dataType: 'json',
        delay: 100,
    },
    minimumInputLength: 2,
    escapeMarkup: function(result) {
        return result;
    },
    templateSelection: function(result) {
        return result['text'] + ' (' + result['city'] + ', ' + result['state'] + ')';
    },
    templateResult: function (result) {
        if (result.loading) return 'Searching...';
        return '<strong>' + result['text'] + '</strong>' + 
               '<h6>' + result['city'] + ', ' + result['state'] + '</h6>';
    },
});

Мне нужно это сделать, но это ужасно неэффективно ...

        templateSelection: function(result) {
            if (result['city'] == null) {
                result['city'] = "INITIAL_CITY";
                result['state'] = "INITIAL_STATE";
                result['country'] = "INITIAL_COUNTRY";
            };
            return result['text'] + ' (' + result['city'] + ', ' + result['state'] + ', ' + result['country'] +')';
        },
...