@Happymalina

Как определять удаление последнего элемента из таблицы?

Привет! нужно написать пару строк, как мне кажется. Есть таблица - товары в корзине, в каждой строке есть кнопка удаления товара, а еще есть чудесный кусочек кода,который как то связан с этой таблицей и действием - кликом по кнопке удаления. В обще суть в том чтобы при удалении последнего товара из таблицы - блок с таблицей скрывался, а показывался другой - "корзина пуста". Думала прокатит вариант подставить что-то типа success в конце скрипта,но не прокатило. Вопроса в общем то два - если можно как то добавить в конец функции действие чтобы работало - то как правильно, и наверно вытекающий их этого... как то ведь надо привязать действие к тому что удаляется последняя строка из таблицы.
Таблица:
<table class="cart-table">
    <tbody>
        <tr>
            <th class="name">
                <div>Наименование:</div>
            </th>
            <th class="price"><div>Цена, руб.:</div></th>
            <th class="qty"><div>Количество:</div></th>
            <th class="total"><div>Сумма:</div></th>
            <th></th>
        </tr>
        <tr class="cart-items">
            <td><a href="/torgovoe-oborudovanie/ograzhdenie-i-turnikety/stoyka-ograzhdeniya-odnourovnevaya/2000.html">ОС1 крайняя H=1000,d=32</a></td>
            <td class="RUB" data-price="2091.00">2 091 <span class="ptrouble">у</span> </td>
            <td>
                <div class="quantity-input">
                    <span class="qi-minus">-</span>
                    <input class="qi-input" type="text" value="1" readonly="" name="QUANTITY_194799">
                    <span class="qi-plus">+</span>
                </div>
            </td>
            <td>2 091 <span class="ptrouble">у</span></td>
            <td><a href="?delete=194799" class="btn-delete"></a></td>
        </tr>
    </tbody>
</table>


Код:
$(".btn-delete").on('click',function(e){
        e.preventDefault();
        $item = $(this);
        $.get(
            $item.attr('href')+'&ajax=1',
            function(data){
                $item.parents('tr').hide().find('.qi-input').val(0);
                var price = 0;
                $item.parents('table').find('.cart-items').each(function(){
                    price += $(this).find('td.RUB').data('price')*$(this).find('.qi-input').val();
                });
                $item.parents('tr').remove();
                $('.cart-total__price').html(parseInt(price)+' <span class="ptrouble">у</span>');
                $item.parents('#basket-form').css('display','none');
                $('cart-order__empty').css('display','block');
            }
        );  
    });
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ну, насколько я понял - вам нужно после удаления очередной строки проверять, а есть ли ещё объекты? Скорее всего вам подойдет условие такое:
$item.parents('table').find('.cart-items').length === 0
Ответ написан
Ваш ответ на вопрос

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

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