Как я могу загрузить данные, поступающие из запроса из базы данных, чтобы выбрать все теги? - PullRequest
0 голосов
/ 27 мая 2019

Поэтому в последние дни я пытался загрузить данные во входные данные selectize.js, которые я пробовал многими способами, и они не работают.

Я пробовал теги [{}];способ, но работает только со строками внутри.

Example: tags = [
            {text: "science"},
            {text: "biology"},
            {text: "chemistry"},
            {text: "physics"}
         ];

    <!------ Hidden Input with the tags queried from the database ------>

    <?php 

        $alltags=""; 

        foreach ($tags as $tag ) {

            $alltags.=$tag['name'].".";

        }

    ?>

    <input type="text" style="display:none" value="<?php echo $alltags; ?>" id="hiddeninput_tags">

    <!----------------------------------------------------------------->


    <!------ JavaScript Function ------>

    function sendtags()
    {

        var rawtags = $('#hiddeninput_tags').val();
        var res = rawtags.split(".");

        res.forEach(function(entry) {

            //alert(tags); If I remove this from comment, when I load the page it will alert all the tags inside the hidden input.

        });

    }

    <!--------------------------------->


    <!------ Selectize Function ------>

    $('#input-tags').selectize({

        plugins: ['restore_on_backspace', 'remove_button'],
        delimiter: ',',
        persist: false,
        options: tags,
        valueField: 'text',
        create: function(input) {
            return {
                value: input,
                text: input
            }
        },
        render: {

            option_create: function(data, escape) {

                var addString = 'Adicionar';

                return '<div class="create">' + addString + ' <strong>' + escape(data.input) + '</strong>&hellip;</div>';

            }

        }

    });

    <!-------------------------------->

Я ожидаю, что на входе selectize все значения, запрашиваемые из базы данных, вставляются в значение этого "selectize"вход ", чтобы он мог предложить теги, которые уже существуют в базе данных.

1 Ответ

0 голосов
/ 27 мая 2019

Привет @NeonSilver вместо использования "" в вашей строке, используйте '' одинарные кавычки для ввода значения.

Ваш код доступа отображается как -

<input type="text" style="display:block" value="[{text: " science"},{text:="" "biology"},{text:="" "chemistry"},{text:="" "physics"}]" id="hiddeninput_tags">

но так и должно быть -

<input type="text" style="display:block" value='[{text: " science"},{text:="" "biology"},{text:="" "chemistry"},{text:="" "physics"}]' id="hiddeninput_tags">

теперь вы можете легко получить значение тега.

...