Как удалить блок, в котором находится кнопка?

137
22 декабря 2020, 21:40

Есть такая начальная разметка:

    <div class="inputs">
        <div class="form-group row">
            <div class="col-md-11">
                <input class="form-control value" type="text" name="values[]" value="" placeholder="Укажите значение атрибута">
            </div>
            <div class="col-md-1">
                <div class="btn btn-danger destroy">X</div>
            </div>
        </div>
    </div>
<a class="btn btn-primary" id="add">Добавить значение</a>

Для наглядности:

Новое поле и кнопка добавляются с помощью jquery по тыку на кнопку. Вот так:

    $(document).ready(function(){
        $('#add').click(function() {
            $('        <div class="form-group row">\n' +
                '            <div class="col-md-11">\n' +
                '                <input class="form-control value" type="text" name="values[]" value="" placeholder="Укажите значение атрибута">\n' +
                '            </div>\n' +
                '            <div class="col-md-1">\n' +
                '                <div class="btn btn-danger destroy">X</div>\n' +
                '            </div>\n' +
                '        </div>').fadeIn('slow').appendTo('.inputs');
        });
    });

Как оживить кнопку на удаление, чтобы она удаляла кусок той разметки, в которой она находится?

Answer 1

$(document).ready(function() { 
 
  $('#add').click(function() { 
    $('<div class="form-group row">\n' + 
        '<div class="col-md-11">\n' + 
          '<input class="form-control value" type="text" name="values[]" value="" placeholder="Укажите значение атрибута">\n' + 
        '</div>\n' + 
        '<div class="col-md-1">\n' + 
          '<div class="btn btn-danger destroy">X</div>\n' + 
        '</div>\n' + 
      '</div>').fadeIn('slow').appendTo('.inputs'); 
  }); 
   
  $('.inputs').on('click', '.destroy', function() { 
    $(this).parent().parent().remove(); 
  }); 
 
});
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" /> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<div class="inputs"> 
 
  <div class="form-group row"> 
    <div class="col-md-11"> 
      <input class="form-control value" type="text" name="values[]" value="" placeholder="Укажите значение атрибута"> 
    </div> 
    <div class="col-md-1"> 
      <div class="btn btn-danger destroy">X</div> 
    </div> 
  </div> 
 
</div> 
 
<a class="btn btn-primary" id="add">Добавить значение</a>

READ ALSO
Почему не работает $router.addRoutes?

Почему не работает $router.addRoutes?

Ситуация такая, при инициализации в объекте route три объекта маршрутов:

113
Как реализовать такой же эффект?

Как реализовать такой же эффект?

Подскажите пожалуйста, как реализовать такой же эффект у текста, как на этом сайте: https://wwwsquarespace

126
Переменная не очищается

Переменная не очищается

В subels пункты li накапливаются с каждой итерацией и не отчищаются при объявлении, а если очищать с помощью subelsempty(), то они в итоге все удаляются

113
Проверка авторизации React JS

Проверка авторизации React JS

Делаю приложение на react js Есть авторизация и доступ к сайту после нееСделал проверку авторизовался пользователь или нет при отрисовке дефолтного...

198