Мой HTML имеет следующие div (-ы) с одним входом с кнопкой Добавить:
<form method="post" action="">
<div class="row">
<div class="col-lg-6">
<div id="inputFormRow">
<div class="input-group input-group-sm mb-3">
<div class="input-group-prepend">
<span class="input-group-text">1</span>
</div>
<input type="text" name="title[]" class="form-control m-input"
placeholder="Enter title" autocomplete="off">
</div>
</div>
<div id="newRowGoesHere"></div>
<button id="appendNewRow" type="button"
class="btn btn-sm btn-success">
<i class="fas fa-plus"></i> Add
</button>
</div>
</div>
</form>
Я заполняю динамические c входы, используя JQuery, как показано ниже:
$(document)
.ready(
function() {
var x = 1;
console.log("ready!");
$("#appendNewRow")
.click(
function() {
x++;
var html = '';
html += '<div id="appendedRow">';
html += '<div class="input-group input-group-sm mb-3">';
html += '<div class="input-group-prepend">';
html += '<span class="input-group-text">'
+ x + '</span></div>';
html += '<input type="text" name="title[]" class="form-control m-input" placeholder="Enter title" autocomplete="off">';
html += '<div class="input-group-append">';
html += '<button id="removeRow" type="button" class="btn btn-danger"><i class="far fa-trash-alt"></i></button>';
html += '</div></div>';
$('#newRowGoesHere').append(html);
});
$(document).on('click', '#removeRow', function() {
$(this).closest('#appendedRow').remove();
x--;
});
});
Я получаю порядковый номер с добавлением приращения на каждом входе, но когда я удаляю элемент ввода, я теряю последовательность.
Например, если я добавлю 5 входов и удалю второй, тогда, если я добавлю больше, счетчик будет начинаться с 5, как это (снимок экрана):
Ожидаемая последовательность: 1,2,3,4,5, а не 1,3,4,5,5
Теперь я не знаю, как поддерживать правильную числовую последовательность (добавлено в начале ) независимо от того, какой элемент я удаляю.
Я должен записать порядковый номер в моем проекте. Откуда мне go отсюда? Будем очень признательны за любые указатели.