【发布时间】:2013-12-31 22:32:19
【问题描述】:
我有一个表单,其中包含一些字段,然后如果需要,用户可以添加更多相同类型的字段。我使用http://jqueryvalidation.org/ validate plugin 来验证字段。
当我在某处阅读时,jquery 验证插件需要字段的唯一名称来验证它们。所以我唯一地命名每个字段。首先,如果我使用类添加规则,我希望 validate 插件能够处理动态添加的元素的验证。但事实证明并非如此。
因此,即使每个字段的名称都是唯一的,验证插件也只会验证最初呈现的第一个输入。
我什至尝试使用$.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;
});
请在 fiddle 设置中找到标记。
【问题讨论】:
-
但是您给出的示例中的验证不起作用。
-
@SukhwinderSodhi 确实有效。
-
它在第一个上运行良好,但是当添加新雇主并且您保存它而不填写另一个员工时它会保存数据
-
@SukhwinderSodhi 请参考答案,因为您所说的是我需要解决的问题。
标签: javascript jquery forms jquery-validate