如何加载来自数据库查询的数据以使所有标签都进入selectize?

时间:2019-05-27 08:59:43

标签: javascript php html codeigniter selectize.js

因此,在过去的几天里,我一直在尝试将数据加载到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 input”的值中,以便可以建议数据库中已经存在的标记。

1 个答案:

答案 0 :(得分:0)

@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">

现在您可以轻松获取标签值。