Я встроен в генератор веб-резюме, чтобы научиться разрабатывать для веб-сайтов.Я создал HTML-форму, в которую пользователь может добавить больше полей, чтобы добавить больше информации о нем.Пример: у него более одного профессионального опыта, но форма начинается с одного поля prof-exp для заполнения.Поэтому он нажимает кнопку «Добавить новый опыт», и JS создает для нее новое поле.Для этого я использовал метод clone()
из jQuery, но это дает мне проблемы, перечисленные ниже.Кроме того, вот код, который я сделал:
var index = 0;
$(document).ready(() => {
$("#add-exp").click(() => {
$("#professional").clone().attr("id", "professional" + index++).
appendTo("#professional-info").find("select, input, textarea").val("");
})
})
<!DOCTYPE html>
<html>
<body>
<form action="" method="GET" id="main">
<fieldset id="professional-info">
<legend><h2>professional experience</h2></legend>
<div id="professional">
<label for="level">Nível: <select name="level" id="level" >
<option value="empty">Selecione</option>
<option value="estagio">Estágio</option>
<option value="junior-trainee">Junior/Trainee</option>
<option value="aux-opera">Auxiliar/Operacional</option>
<option value="pleno">Pleno</option>
<option value="senior">Sênior</option>
<option value="sup-coord">Supervisão/Coordenação</option>
<option value="gerencia">Gerência</option>
</select></label>
<label for="position"> Cargo: <input type="text" name="carrer" id="carrer" ></label><br>
<label for="company"> Empresa: <input type="text" name="company" id="company" ></label><br>
<label for="begin"> Início: <input type="month" name="begin" id="begin" ></label>
<label for="break"> Término: <input type="month" name="break" id="break" ></label>
<label for="stl-work"><input type="checkbox" name="stl-work" id="stl-work" >Ainda trabalho aqui</label><br>
<label for="job-desc"> Descrição: <textarea name="job-desc" id="job-desc" placeholder="Conte um pouco sobre o que você fazia lá." cols="40" rows="1"></textarea></label>
<button type="button" id="remove-exp" >Remove this professional xp</button>
</div>
<button type="button" form="main" id="add-exp">Add other professional exp</button>
</fieldset>
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</body>
</html>
Проблемы:
Только у div есть динамические идентификаторы, что вызывает у меня следующие две другие проблемы;
Я не знаю, как реализовать логику кнопки удаления, поскольку я не могу отличить 1-ю кнопку от других элементов Div *; 1018 *
Поскольку метки используют соответствующий идентификатор ввода для ссылки, когда пользователь щелкает его, они указывают на первые поля ввода;
Я надеюсь, что вы, ребята, могли понять мою проблемуи помоги мне с этим.Кроме того, извините за мой английский - я тоже учусь.Спасибо вам всем!