У меня есть форма, у меня есть динамически добавленные входы, у меня есть индекс изменения каждого входа, когда он добавляется динамически.
Вот моя HTML-форма.
$(function(){ var hobiesIndex = 1; $("#add_field").click(function () { $(this).closest('tr').find('input.hobies').attr('name', "hobies['"+hobiesIndex+"']"); $("#table_container").append($("#temp_div").html()); hobiesIndex++; }); })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <form action="" method="POST" enctype="multipart/form-data"> <table id="table_container"> <tr> <th><label class="lbl-header">My Hobies</label></th> <th><label class="lbl-header">Image</label></th> </tr> <tr> <td><input type="text" class="hobies" name="hobies[0]" value=""></td> <td> <input id="file-input" class="imgInp" type="file" name="image[0]" /> </td> </tr> </table> <p class="contact"> <a class="button" id="add_field"><span style="text-transform: uppercase;"> + Add More</span></a> </p> <input type="submit" name="submit" value="Submit"> </form> <table class="product_sku_input" id="temp_div" style="display: none"> <tr> <td><input type="text" class="hobies" name="hobies[]" /></td> <td> <input id="file-input" class="imgInp" type="file" name="image[]" /> </td> </tr> </table>
Вот мой код скрипта.
Таргетинг на последние input в каждом клике:
input
Изменить
$(this).closest('tr').find('input.hobies').attr('name', "hobies['"+hobiesIndex+"']");
К
$('input.hobies').last().attr('name', "hobies["+hobiesIndex+"]");