Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.02.2017, 15:09
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Удаление определенного элемента из множества элементов с одинаковым классом
Здравствуйте не могу решить проблему, удаляется предыдущий блок
НЕ могу провести зависимость $(this).remove(), чтобы он только сам себя удалял

<table class="table table-bordered">
          <caption>РАСЧЕТ ПЛАТЕЖЕЙ</caption>
          <thead>
            <tr>
              <th>№</th>
              <th>Дата</th>
              <th>Сумма переплат</th>
              <th>Остаток задолжности</th>
              <th>Основной долг</th>
              <th>Начисленные проценты</th>
              <th>Платеж</th>
              <th></th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <th>1</th>
              <th>05.16</th>
              <th>30 000</th>
              <th>3 500 500</th>
              <th>10 000</th>
              <th>30 000</th>
              <th>40 000</th>
              <th><div class="change-block"></div></th>
            </tr>
            <tr>
              <th>2</th>
              <th>05.16</th>
              <th>30 000</th>
              <th>3 500 500</th>
              <th>10 000</th>
              <th>30 000</th>
              <th>40 000</th>
              <th><div class="change-block"</div></th>
            </tr>
            <tr>
              <th>3</th>
              <th>05.16</th>
              <th>30 000</th>
              <th>3 500 500</th>
              <th>10 000</th>
              <th>30 000</th>
              <th>40 000</th>
              <th><div class="change-block"></div></th>
            </tr>
            <tr>
              <th>4</th>
              <th>05.16</th>
              <th>30 000</th>
              <th>3 500 500</th>
              <th>10 000</th>
              <th>30 000</th>
              <th>40 000</th>
              <th>
                <div class="change-block">

                </div>
             </th>
            </tr>
          </tbody>
        </table>

<script>
var $add_button = $('<button type="button" name="button" class=" add-button" >Добавить платеж</button>');
var $confirmed_pay = $('<div class="confirmed-pay"> <a href="#"><span class="icons close-icon"></span></a><p class="blue-text">10 000</p><p>Экономия 25 000</p></div>');
$( ".change-block" ).append($add_button);


$('.change-block > .add-button').click(function(){
  $(this).parent().append($confirmed_pay);
  $(this).remove()
});
</script>

Последний раз редактировалось Artem_A, 11.02.2017 в 15:52.
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2017, 16:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Artem_A,
Сообщение от Artem_A
$(this).parent().append($confirmed_pay.clone());
Ответить с цитированием
  #3 (permalink)  
Старый 11.02.2017, 16:10
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Спасибо большущее!! А почему он так себя ведет?
Ответить с цитированием
  #4 (permalink)  
Старый 11.02.2017, 16:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Artem_A,
потому что один и тот же элемент таскали из блока в блок
Ответить с цитированием
  #5 (permalink)  
Старый 11.02.2017, 16:34
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

А как сделать чтобы кнопка обратно возвращалась?
$('.change-block > .add-button').click(function(event){
      var parent = $('.change-block').children().is('.add-button')
      if (parent == true) {
      $(this).parent().append($confirmed_pay.clone());
      $(this).remove()
    } else {
      $(this).parent().append($add_button.clone());
      $(this).remove();
    }
Ответить с цитированием
  #6 (permalink)  
Старый 11.02.2017, 16:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от Artem_A
А как сделать чтобы кнопка обратно возвращалась?
опишите словами, что хотите сделать
Ответить с цитированием
  #7 (permalink)  
Старый 11.02.2017, 16:46
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

Я хочу чтобы после нажатия на <span class="close-pay"></span>который находится в $confirmed_pay - опять возвращалась кнопка которая была удалена.

var $add_button = $('<button type="button" name="button" class=" add-button" >Добавить платеж</button>');

var $confirmed_pay = $('<div class="confirmed-pay"> <span class="icons close-icon close-pay"></span><p class="blue-text">10 000</p><p>Экономия 25 000</p></div>');

$( ".change-block" ).append($add_button);


$('.change-block > .add-button').click(function(event){
      var parent = $('.change-block').children().is('.add-button')
      if (parent == true) {
      $(this).parent().append($confirmed_pay.clone());
      $(this).remove()
    } else {
      $(this).parent().append($add_button.clone());
      $(this).remove();
    }
Ответить с цитированием
  #8 (permalink)  
Старый 11.02.2017, 17:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Artem_A,
$(function() {
    function create(button) {
        var $add_button = $('<button type="button" name="button" class=" add-button" >Добавить платеж</button>');
        var $confirmed_pay = $('<div class="confirmed-pay"> <a href="#"><span class="icons close-icon close-pay"></span></a><p class="blue-text">10 000</p><p>Экономия 25 000</p></div>');
        return button ? $add_button : $confirmed_pay
    }
    $(".change-block").append(create(true)).on("click",
        ".add-button, .close-pay",
        function(event) {
            var button = $(this).is(".close-pay");
            var elem = create(button);
            $(event.delegateTarget).html(elem)
        })
});
Ответить с цитированием
  #9 (permalink)  
Старый 11.02.2017, 17:11
Аспирант
Отправить личное сообщение для Artem_A Посмотреть профиль Найти все сообщения от Artem_A
 
Регистрация: 17.01.2016
Сообщений: 49

ДА! все работает
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить несколько элементов с одинаковым id? Poveritov Элементы интерфейса 1 18.04.2016 10:58
Удаление и восстанавелние элементов (jquery) saper333 Общие вопросы Javascript 5 23.11.2015 15:50
Не работает сценарий у элемента с изменяющимся классом!!! LLIypuk jQuery 2 24.09.2015 12:12
изменить цвет фона у всех элементов с одинаковым классом bigjoy Events/DOM/Window 10 07.01.2014 12:03
Удаление определённого количества элементов в родительском блоке 1lider Events/DOM/Window 13 03.12.2013 17:26