2016-02-21 7 views
1

Я пытаюсь создать поля ввода с помощью кнопки. Но я хочу, чтобы при создании поля ввода я хотел создать скрытое поле ввода с той же кнопкой. Я попробовал функцию slideToggle, но это не сработало.Скрыть ввод после добавления (после)

<button type="button" id="addEmail" "class1"></button> 

$('#addEmail').one('click', function() { 
    var dummy = '<input type="text">'; 
    $('.email').after(dummy); //creating input after class 'email' 
    $(this).addClass('less-inputs'); //Changing buttons css 
}); 
+0

Это работает. Https://jsfiddle.net/qdgm05t4/3/ –

+0

Я не хочу, чтобы скрыть кнопку, я хочу скрыть поле ввода с помощью той же кнопки. Моя орфографическая ошибка в вопросе, извините. – WeakBrains

+0

да, тогда я неправильно понял вас. –

ответ

1

Самым кратким способом было бы создать контекст JQuery представлять свой dummy элемент вместо простого HTML-строки.

Что-то вроде:

var $dummy = $('<input type="text">'); 
$('.email').after($dummy); 
$dummy.addClass('less-inputs'); 

Или еще короче:

$('<input type="text">') 
    .addClass('less-inputs') 
    .insertAfter($('.email')); 
+0

Почему бы не предложить 'var $ dummy = $ ('');', но добавив его с помощью JQuery? –

+0

@ArupRakshit, я бы сказал, что существует как минимум 4 возможных способа добавления класса к добавляемому элементу. * I * выбрал 'addClass()', потому что я хотел продемонстрировать, что цепочка методов все еще возвращает исходный контекст. – haim770

+0

Хм, справа. Но я хотел убедиться, что мое мышление/подход правильный или нет. :) –

1

Вы можете добавить вход в HTML и просто показать/скрыть их на кнопку мыши.

Если вы хотите создать его динамически, вы можете добавить ID на вход, чтобы проверить его существование. Если вход существует, вы его удаляете, иначе вы его добавите.

Смежные вопросы