jQuery Повторитель + Добавить при выборе и обновлении - PullRequest
0 голосов
/ 27 апреля 2020

Я использую Jquery Повторитель (https://github.com/DubFriend/jquery.repeater) на странице редактирования счета, которую я создаю. Повторитель используется для повторения позиций счета-фактуры (название товара, цена и выбор налогов). Мы можем, используя форму ajax, добавить новый налог. Новый налог добавляется в существующий список элементов, но после нажатия кнопки «Добавить элемент» создается впечатление, что повторитель использует первый созданный набор параметров в выборе, а не последний, содержащий вновь созданный параметр.

enter image description here

Вот код ретранслятора, который я использую

$(".invoice-item-repeater").length && $(".invoice-item-repeater").repeater({
            show: function () {
                $(this).slideDown(function () {
                    $('.tax').trigger('change', true);
                })
            }, hide: function (e) {
                $(this).slideUp(e, function () {
                    $(this).remove();
                    calculate()
                });
            }
        });

Все выбранные налоги указаны для класса .tax

Как вы можете видеть в примере, 14% налог добавляется в форму ajax и добавляется к первым двум наборам опций выбора, поскольку они уже были в DOM при создании нового налога, но для следующего добавленного элемента у нас только 0% без нового 14% налога.

1 Ответ

0 голосов
/ 27 апреля 2020

Я думаю, вы должны активировать каждый элемент.

$(this).slideDown(function () {
        $('.tax').each(function (_, el) {
            el.trigger('change', true);
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...