Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Удаление строк, кроме последней оставшейся. (https://javascript.ru/forum/jquery/62595-udalenie-strok-krome-poslednejj-ostavshejjsya.html)

versancho 19.04.2016 11:50

Удаление строк, кроме последней оставшейся.
 
Есть таблица, в которой 2 строки в которых по 2 колонки (1 строка - заголовок, 2 строка - для введение данных), при нажатии на кнопку "Добавить строку" - добавляет строку, при этом появляется крестик возле строк, при помощи которого можно удалить любую из них. Нужно сделать так, что бы одну (последнюю) оставшуюся строку не удаляло, а просто стирало информацию и удаляло крестик расположенный возле строки. JQuery
Извините, за частое употребление слова - "строка" =)

$("#button_salarys").click(function(){
$("#table_salarys").append(info);
$("#table_salarys i").addClass("fa fa-close");
$("i").click(function(){
$(this).parents("tr").remove();
});
});

<div class="salarys">
<form>
<table id="table_salarys">
<caption>Название</caption>
<tr class="first_tr">
<td>1 колонка</td>
<td>2 колонка</td>
<td></td>
</tr>
<tr>
<td><input type="text"></td>
<td><input type="number"></td>
<td><i></td>
</tr>
</table>
</form>
<button id="button_salarys">
Добавить строку <i class="fa fa-plus-square fa-lg"></i>
</button>
</div>

Dilettante_Pro 19.04.2016 13:49

versancho,
А вы уверены, что ваше добавление строк работает?
В частности, что такое info?
Предположительно
var info = '<tr><td><input type="text"></td><td><input type="number"></td><td><i></i></td></tr>';
        $("#button_salarys").click(function () {
            $("#table_salarys").append(info);
            $("#table_salarys i").addClass("fa fa-close");
            $("i").click(function () {
                if (table_salarys.rows.length > 2) {
                    $(this).parents("tr").remove();
                }
                else {
                    $(this).parents("tr").find('td input').val('');
                    $(this).parents("tr").find('i').removeClass("fa fa-close");
                }
            });
        });

versancho 19.04.2016 16:33

Да, все работает.

var info = ("<tr><td><input type='text'></td><td><input type='number'></td><td><i></td></tr>");

Забыл добавить, извиняюсь.
Спасибо за помощь!


Часовой пояс GMT +3, время: 02:04.