автоматическая подгрузка данных в поле select из csv, json или sql

Тема в разделе "JavaScript", создана пользователем bzzi, 16 сен 2020.

  1. bzzi

    bzzi aka kashtann

    Регистр.:
    5 мар 2016
    Сообщения:
    160
    Симпатии:
    20
    Добрый день! Прошу помощи в поиске скрипта с автоматической подгрузкой данных в форму из списка (список чуть больше чем 2000 наименований). Выгрузка удобнее из csv, но и другие форматы тоже подойдут. В идеале скрипт который при вводе нескольких букв подгрузит соответствующие значения.
    Знаю только разметку нормально, с языками плохо и если объясните из какого формата лучше брать данные тоже буду признателен.
     
  2. sol_los

    sol_los

    Регистр.:
    17 окт 2011
    Сообщения:
    413
    Симпатии:
    258
    сначала это все в базу данных нужно выгрузить, а уже потом делать подгрузку в поле select с поиском.
     
  3. bzzi

    bzzi aka kashtann

    Регистр.:
    5 мар 2016
    Сообщения:
    160
    Симпатии:
    20
    Теория понятна, интересна как раз её реализация готовым скриптом
     
  4. sol_los

    sol_los

    Регистр.:
    17 окт 2011
    Сообщения:
    413
    Симпатии:
    258
    stackowerflow и гугл в помощь. если нет желания искать и нет знаний для получения результата - используйте наемный платный труд
     
    bzzi нравится это.
  5. flaer

    flaer Постоялец

    Регистр.:
    21 янв 2008
    Сообщения:
    50
    Симпатии:
    11
    Если нужен именно готовый скрипт - только в гитхаб репозиториях рыться среди куч.
     
    bzzi нравится это.
  6. duncan

    duncan батяр з личакова

    Регистр.:
    10 апр 2007
    Сообщения:
    1.601
    Симпатии:
    440
    на вскидку: https://learn.javascript.ru/fetch
    тянем функцией, потом 2 then и вьівод
     
    l0cky нравится это.
  7. Xe-Xe

    Xe-Xe Создатель

    Регистр.:
    15 янв 2009
    Сообщения:
    12
    Симпатии:
    6
    @bzzi eсли наименований всего 2000, то можно грузить сразу все в один объект на стороне клиента, и там же использовать поиск, например в select2
    Для подгрузки из CSV можно использовать что-то типа этого
    https://github.com/typeiii/jquery-csv
    И в сумме

    HTML:
    <select class="myselect" data-source="/uploads/data.csv"></select>
    <script>
    jQuery(function($) {
        $('.myselect').each(function(){
            var source = $(this).data('source'),
                $that = $(this);
            $.ajax({
                url: source,
                method: 'GET',
                success: function(data) {
                    var csv = $.csv.toObjects(data),
                        options = csv.map(function(row){
                           // prepare to select2 format
                           // see https://select2.org/data-sources/arrays
                            return {
                                id: row.id,
                                text: row.name
                            };
                        });
                    $that.select2({
                        data: options
                    });
                }
            });
        });
    });
    </script>
    PoC https://jsfiddle.net/fpuneg8v/