получить объект selectize, объявленный в отдельном файле - PullRequest
0 голосов
/ 05 мая 2020

В какой-то момент страницы идет selectize инициализация.

     somewhere in file 1
     $(document).ready(function () {

        $tagSelectize = $('.assign-tags').selectize({
            plugins: ['remove_button'],
            valueField: 'original_name',
            labelField: 'name',
            ...all options not relative to the topic
        });
    });

Мне нужно добавить параметр в другую часть кода, и я делаю это:

file 2
<script type="text/javascript">

    $(document).ready(function () {

        var tso1 = $('.assign-tags').selectize;
        var tso = tso1[0].selectize;
        tso.addOption({value:100, text: 'BBBBB'});
        tso.refreshOptions();
        tso.addItem(100);

    });


</script>

, но это полностью переписывает предыдущий экземпляр и заменяет его новым. Как я могу получить начальный selectize в файле 1

1 Ответ

0 голосов
/ 05 мая 2020

Я думаю, что в файле 2 вы должны изменить

var tso1 = $('.assign-tags').selectize;
var tso = tso1[0].selectize;

на var tso = $('.assign-tags')[0].selectize;

, потому что то, что вы говорите, это

возьмите первый элемент массива $('.assign-tags').selectize, а затем возьмите его "selectize" свойство

но я думаю, что вы имели в виду

возьмите первый элемент $('.assign-tags') (ie $('.assign-tags')[0]) и из него возьмите свойство "selectize"

, поэтому файл 2 должен стать чем-то вроде следующего кода

<script type="text/javascript">
$(document).ready(function () {
    var tso1 = $('.assign-tags')[0];
    var tso = tso1.selectize;
    tso.addOption({value:100, text: 'BBBBB'});
    tso.refreshOptions();
    tso.addItem(100);
});

...