2017-02-10 17 views
0

Я пытаюсь добавить новый text with floating label с jQuery, но мое добавленное текстовое поле не анимировано.Как правильно добавить TextField с помощью MaterialDesign Lite?

Как я могу сделать это анимированным?

Вот мой JQuery Код:

$('body').on('keypress', '.stepcity', function(e){ 
 
    let keyCode = e.keyCode || e.which; 
 

 
    if (keyCode == 9 || keyCode == 13) 
 
    { 
 
     e.preventDefault(); 
 
     let id = $('stepcity').length + 1; 
 
     $('#StepCities').append('<div class="mdl-grid mdl-cell--7-col"><div class="mdl-cell--2-col CreateGroupIcons"><i class="fa fa-dot-circle-o"></i></div><div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label mdl-cell--10-col"><input class="mdl-textfield__input hightlyVisible stepcity" type="text" id="StepCity'+id+'"><label class="mdl-textfield__label" for="StepCity'+id+'">Step City</label></div></div>'); 
 
    } 
 
});

Спасибо!

ответ

1

Если вы вносите изменения в DOM, обработчики материалов (например, анимации, которые вы пропустите) не будут применяться к этим изменениям. Вы должны позвонить componentHandler.upgradeDom(); в свой javascript, после того как вы добавили html. Тогда он должен вести себя как ожидалось.

Также это кажется неправильным: let id = $('stepcity').length + 1; Возможно, это должен быть класс или селектор id.