@ATNC
Full-stack web\python developer

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

Доброго времени суток, господа. Столкнулся с такой проблемой. Повесил событие
.change()
на элемент span. Внутри этого спана есть элементы. Когда я добавляю элементы "внутрь" - ивент отрабатывает хорошо, и делает то, что мне нужно. Но когда я удаляю элемент "изнутри", то мне возвращается предыдущее значение, а не текущее. Например внутри у меня есть 4 элемента. Когда я добавляю один - мне возвращает новое количество - тобишь 5. Но когда я удаляю элемент, мне возвращается то же значение, а не на еденицу меньше.
Помогите, пожалуйста, как мне быть. Необходимо считать количество элементов внутри, и при изменении его количества, отсылать даные на сервер. Сейчас получается что при добавлении отсылается то, что нужно, но когда я удаляю элемент - отсылается неизмененное значение.

Спасибо.

$('#id_set_products-wrapper').change(function () {


                var lst = [];

                $.each($('#id_set_products-deck')[0].childNodes, function (key, value) {
                    lst.push(value.dataset.value)
                 });


            })
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 3
supervaleha
@supervaleha
Web-development
Пример на jsfiddle в студию :) Нужно смотреть, как Вы удаляете и как Вы считаете количество элементов.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Начнем с того, что у span по умолчанию нет события change, в отличие от элементов формы.
Можно использовать что-то из DOM Mutation Events
К примеру DOMSubtreeModified
Ответ написан
Комментировать
@ATNC Автор вопроса
Full-stack web\python developer
Разобрался. Поставил таймаут на секунду, и нормально заработало
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы