Клонирование двух блоков select2 - PullRequest
0 голосов
/ 17 января 2019

Я использую плагин Select2 для своих блоков выбора. И у меня есть некоторые проблемы с клонированием. Вторая проблема - при выборе клонирования я не могу выбрать элемент, который был выбран в предыдущих блоках.

$(document).ready(function()
{
    var Count = 1;

    $(".entry").children("select").select2({});
    $(".btn-add").click(function () {
        $(".entry")
            .children("select").each(function () {
                $(this)
            // call destroy to revert the changes made by Select2
                .select2("destroy")
                .removeAttr('data-live-search')
                .removeAttr('data-select2-id')
                .removeAttr('aria-hidden')
                .removeAttr('tabindex');
        });
    });


    $(document).on('click', '.btn-add', function(e)
    {
        e.preventDefault();

        var controlForm = $('.controls fieldset:first-child'),
            currentEntry = $(this).parents('.entry:first'),
            newEntry = $(currentEntry.clone()).appendTo(controlForm);

        newEntry.find('input').val('');
        controlForm.find('.entry:not(:last) .btn-add')
            .removeClass('btn-add').addClass('btn-remove')
            .html('<div id="rectangle"></div>');

        $(".entry").children("select").each(function () {
            $(this).select2({});
        });

    }).on('click', '.btn-remove', function(e)
    {

        $(this).parents('.entry:first').remove();
        e.preventDefault();

        $(".entry").children("select").each(function () {
            $(this).select2({});
        });
        return false;
    });
 });

Несколько дней назад я решил проблему копирования одного такого блока. Но сегодня я пытаюсь использовать один и тот же код для клонирования 2 блоков, и я получаю это - в первом ряду я беру 1 блок без этого плагина и 1 с ними, во втором оба элемента имеют его. Когда я снова пытаюсь клонировать, в последнем ряду есть 2 оригинальных и 2 дублированных блока.

Нужный мне результат - правильное клонирование элементов и возможность выбрать любой элемент в каждой строке

Обновление: я прилагаю примеры работы: Это ситуация по умолчанию , Это происходит, когда мы нажимаем 1 раз , Нажатие два раза , Нажатие пять раз
Этот код работает для один выбор, как это

...