克隆两个select2块

时间:2019-01-17 12:03:43

标签: jquery jquery-select2

我将插件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个重复的块。

我需要的结果是元素的正确克隆以及选择每行中任何项目的能力

更新:我附上工作示例:This is default situationThis happens when we clicking 1 timeClicking two timeClicking five times
此代码适用于one select like this

0 个答案:

没有答案