動的フォームを作成しています。[削除] ボタンをクリックすると、要素のインデックスが再作成されます。たとえば、items1、items2、items3、items4、items5 の 5 つの要素を作成し、items3 を削除した場合、他の 4 つの要素を items1、item2、item3、item4 のように 1 から 4 に再インデックスする必要があります。
これが私のコードです:
jQuery(document).on("ready", function() {
initAddRows();
});
function initAddRows() {
var template = jQuery("#template"),
dataRows = jQuery("#dataRows")
jQuery("#btnAdd").on("click", function() {
var newRow = template.clone(true, true),
fieldRows = dataRows.find(".fieldRow"),
rowNumber = fieldRows.length + 1;
newRow.attr('id', 'row' + rowNumber).find('[id]').each(function() {
jQuery(this).attr("id", jQuery(this).attr("id") + rowNumber);
jQuery(this).attr("name", jQuery(this).attr("name") + rowNumber);
$('#itemscounter').val(+rowNumber);
});
fieldRows.filter(":last").after(newRow);
});
dataRows.on("click", ".remove", function() {
jQuery(this).parent().remove();
});
}
ここに私のHTMLコードがあります:
<select id="items" class="items" style="width:127px; float:left;" name="items">
<select id="items2" class="items" style="width:127px; float:left;" name="items2">
<select id="items3" class="items" style="width:127px; float:left;" name="items3">
<select id="items4" class="items" style="width:127px; float:left;" name="items4">
<select id="items5" class="items" style="width:127px; float:left;" name="items5">