У меня есть форма, где у меня есть несколько полей, а затем при необходимости пользователь может добавить больше полей одного типа. Я использую http://jqueryvalidation.org/ проверить плагин для проверки полей.
Как я читал где-то jquery validate плагин требует уникальных имен для полей для их проверки. Поэтому я называю каждое поле уникальным. Сначала я надеялся, что validate plugin позаботится о динамически добавленной проверке элемента, если я добавлю правила, используя классы. Но, оказывается, это не так.
Таким образом, даже если имя каждого поля уникально, validate plugin проверяет только первый вход, который был отображен изначально.
Я даже попытался использовать $. clone() в надежде, что он позаботится обо всех привязках событий. Но это не сработало для меня. Поэтому я перешел к подчеркиванию, чтобы повторить разметку, так как есть количество полей, и я не хочу писать шаблоны в JS и имя соответственно.
Я не могу найти решение этого и застрял здесь. Не может быть больше, пока эта проблема не будет решена.
Здесь JS, который я написал.
$("#work_form").validate();
$(".work_emp_name").rules("add", {
required: true
});
_.templateSettings.variable = "element";
var tpl = _.template($("#form_tpl").html());
var counter = 1;
$("form").on("click", ".add_employer", function (e) {
e.preventDefault();
var tplData = {
i: counter
};
$("#word_exp_area").append(tpl(tplData));
counter += 1;
});
Найдите разметку в настройке скрипта.