Клонирование раскрывающегося списка MDL (список) - PullRequest
0 голосов
/ 01 мая 2020

В настоящее время я пытаюсь клонировать DROPDOWN, используя jQuery, к счастью, он клонирует, но я не могу использовать клонированные элементы. Раскрывающийся список родителей работает нормально, но клонированные дочерние элементы не работают. После проверки я обнаружил, что созданы кратные «div», потому что я прикрепляю свой код. Пожалуйста, помогите, где я застрял

<div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label getmdl-select full-size" id="branch_box1">
<input class="mdl-textfield__input" type="text" id="branch1" readonly tabIndex="-1">
<label class="mdl-textfield__label" for="branch1"><i>branch</i></label>

<ul class="mdl-menu mdl-menu--bottom-right mdl-js-menu dark_dropdown" for="branch1">
<li class="mdl-menu__item"><i>B.Tech</i></li>
<li class="mdl-menu__item"><i>M.Tech</i></li>
<li class="mdl-menu__item"><i>Ph.D</i></li>
</ul>

<label for="branch1">
<i class="mdl-icon-toggle__label material-icons">arrow_drop_down</i>
</label>
</div>
<button class="mdl-button mdl-button--icon mdl-button--colored" id="add">
<i class="material-icons">add</i>
</button>
<button class="mdl-button mdl-button--icon mdl-button--colored" id="done">
<i class="material-icons">done</i>
</button>               

мой скрипт

$(document).on('click','#add', function(){
    var original = $(this).prev();
    if(original.find('input').val()){
        var newClone = original.clone();
        //console.log(original);
        var id = original.find('input').attr('id');
        var id_name = id.match(/[^0-9]+/);
        var cloneCount = id.match(/(\d+)/)[0];
        cloneCount++;
        newClone.attr('id', "branch_box"+ cloneCount);
        newClone.find('input').attr('id', id_name+ cloneCount);
        newClone.find('label').attr('for', id_name+ cloneCount);
        newClone.find('ul').attr('for', id_name+ cloneCount);
        newClone.find('input').val(null);

        newClone.attr('data-upgraded',null);
        newClone.find('input').attr('data-upgraded',null);
        newClone.find('div').attr('data-upgraded',null);
        //newClone.find('ul').attr('data-upgraded',null);
        //original.find('#a_branch').remove();
        componentHandler.upgradeDom();
        newClone.insertAfter(original);
        componentHandler.upgradeDom();
        //componentHandler.upgradeAllRegistered();
        console.log(newClone);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...