тег начальной загрузки с поддержкой ajax, нужна функция обратного вызова javascript - PullRequest
0 голосов
/ 11 июня 2019

Я использую тег начальной загрузки с ajax для функции автозаполнения. что я пытаюсь сделать, это ввести в текстовое поле это покажет что-то из моего списка, и окно выбора покажет ниже .. например, когда я нажимаю клавишу A, в поле выбора ниже будет показана Ада, Эми, из моего db начинается с a когда я выбираю один, он будет добавлен в качестве тега в текстовом поле. Пользователь может ввести несколько тегов. или, если не найдено ни одного совпадения, тег можно создать путем произвольного ввода текста.

я использую этот тег начальной загрузки http://fdeschenes.github.io/bootstrap-tag/

из его документа: Источник данных для запроса. Может быть массивом строк или функцией. Функция передает два аргумента, значение запроса в поле ввода и обратный вызов процесса. Функцию можно использовать синхронно, возвращая источник данных напрямую или асинхронно через единственный аргумент обратного вызова процесса.

Я создал функцию javascript для получения моего источника ... Я пытаюсь и получаю мой результат в формате json, но на нем не отображается тег автозаполнения

Я создал функцию AJAX, чтобы получить список предложений. console.log ('return data') может показать то, что я хочу. но результат не может отображаться в окне выбора предложений.

HTML-форма ..

                    <div class="label_wrap label_more">
                        <label for="form-field-2">
                            Taggings
                        </label>
                        <div class="input-group input_newadd">
                            <div class="inline tag_div_in tags_verttag">
                                <input type="text" class="tags_in" name="tags_verttag"
                                       id="form-field-tags_verttag"
                                       data-provide="taggings"
                                       value="" placeholder="Enter tags ..."/>
                            </div>
                        </div>
                    </div>

JS

    $('#form-field-tags_verttag').tag({
        placeholder: $('#form-field-tags_verttag').attr('placeholder'),
        source: function (query, process) {
            jQuery.get("/search/searchallex", {
                keyword: query
            }, function (data) {
                console.log('return data:'+data['data']);
                process (data['data']);
            });
        }
    });

Ожидается, что данные будут перечислены в поле выбора ниже текстового поля. но когда я набираю, он просто показывает несколько «А» в поле выбора. не показывает ["ada", "апрель", "amy"]

Я не очень хорош в функции обратного вызова javascript, это причина, по которой я получаю неправильные данные?

Пожалуйста, помогите и большое спасибо.

1 Ответ

0 голосов
/ 12 июня 2019

Я наконец-то обнаружил, что php возвращает строку ,,, (тупо ..) voncert в массив, тогда все проблемы решены.

$('#form-field-tags_verttag').tag({
    placeholder: $('#form-field-tags_verttag').attr('placeholder'),
    source: function (query, process) {
        jQuery.get("/search/searchallex", {
            keyword: query
        }, function (data) {

// console.log ('return data:' + data['данные']);// process (data ['data']);

                var JSONObject = JSON.parse(data['data']);
                console.log(JSONObject);      
                process (JSONObject);
        });
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...